Skip to content

Commit 39ff03f

Browse files
author
Inbal Tako
committed
Remove event options builder
1 parent 27b3efe commit 39ff03f

9 files changed

Lines changed: 41 additions & 44 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ securenative = SecureNative.instance
9999
context = securenative.context_builder(ip = '127.0.0.1', client_token = 'SECURED_CLIENT_TOKEN',
100100
headers = { 'user-agent' => 'Mozilla/5.0 (iPad; U; CPU OS 3_2_1 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Mobile/7B405' })
101101

102-
event_options = EventOptions(event_type = EventTypes::LOG_IN,
102+
event_options = SecureNativeEventOptions(event_type = EventTypes::LOG_IN,
103103
user_id = '1234', user_traits = UserTraits('Your Name', 'name@gmail.com', '+1234567890'),
104104
context = context, properties = {prop1 => 'CUSTOM_PARAM_VALUE', prop2 => true, prop3 => 3}).build
105105

@@ -119,7 +119,7 @@ def track(request)
119119
securenative = SecureNative.instance
120120
context = SecureNative.context_builder.from_http_request(request).build
121121

122-
event_options = EventOptions(event_type = EventTypes::LOG_IN,
122+
event_options = SecureNativeEventOptions(event_type = EventTypes::LOG_IN,
123123
user_id = '1234', user_traits = UserTraits('Your Name', 'name@gmail.com', '+1234567890'),
124124
context = context, properties = {prop1 => 'CUSTOM_PARAM_VALUE', prop2 => true, prop3 => 3}).build
125125

@@ -142,7 +142,7 @@ def verify(request)
142142
securenative = SecureNative.instance
143143
context = SecureNative.context_builder.from_http_request(request).build
144144

145-
event_options = EventOptions(event_type = EventTypes::LOG_IN,
145+
event_options = SecureNativeEventOptions(event_type = EventTypes::LOG_IN,
146146
user_id = '1234', user_traits = UserTraits('Your Name', 'name@gmail.com', '+1234567890'),
147147
context = context, properties = {prop1 => 'CUSTOM_PARAM_VALUE', prop2 => true, prop3 => 3}).build
148148

lib/context/hanami_context.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# frozen_string_literal: true
22

33
class HanamiContext
4+
SECURENATIVE_COOKIE = '_sn'
5+
46
def self.get_client_token(request)
57
begin
68
request.env[SECURENATIVE_COOKIE]
@@ -27,7 +29,7 @@ def self.get_method(request)
2729

2830
def self.get_headers(request)
2931
begin
30-
request.headers.to_hash
32+
request.headers.to_h
3133
rescue StandardError
3234
nil
3335
end

lib/context/rails_context.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# frozen_string_literal: true
22

33
class RailsContext
4+
SECURENATIVE_COOKIE = '_sn'
5+
46
def self.get_client_token(request)
57
begin
68
request.cookies[SECURENATIVE_COOKIE]
@@ -33,7 +35,7 @@ def self.get_method(request)
3335

3436
def self.get_headers(request)
3537
begin
36-
request.headers.to_hash
38+
request.headers.to_h
3739
rescue StandardError
3840
nil
3941
end

lib/context/securenative_context.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def self.from_http_request(request)
3737
headers = HanamiContext.get_headers(request) if headers.nil?
3838

3939
# Standard Ruby request
40-
headers = request.header.to_hash if headers.nil?
40+
headers = request.header.to_h if headers.nil?
4141
rescue StandardError
4242
headers = []
4343
end

lib/context/sinatra_context.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# frozen_string_literal: true
22

33
class SinatraContext
4+
SECURENATIVE_COOKIE = '_sn'
5+
46
def self.get_client_token(request)
57
begin
68
request.env[SECURENATIVE_COOKIE]
@@ -27,7 +29,7 @@ def self.get_method(request)
2729

2830
def self.get_headers(request)
2931
begin
30-
request.headers.to_hash
32+
request.headers.to_h
3133
rescue StandardError
3234
nil
3335
end

lib/event_options.rb

Lines changed: 0 additions & 32 deletions
This file was deleted.

lib/models/event_options.rb

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,32 @@
11
# frozen_string_literal: true
22

3+
require 'models/event_options'
4+
require 'models/user_traits'
5+
require 'errors/securenative_invalid_options_error'
6+
37
class EventOptions
48
attr_reader :event, :user_id, :user_traits, :context, :properties, :timestamp
59
attr_writer :event, :user_id, :user_traits, :context, :properties, :timestamp
610

7-
def initialize(event: nil, user_id: nil, user_traits: nil, context: nil, properties: nil, timestamp: nil)
11+
MAX_PROPERTIES_SIZE = 10
12+
13+
def initialize(event: nil, user_id: nil, user_traits: nil, user_name: nil, email: nil, phone: nil, created_at: nil, context: nil, properties: nil, timestamp: nil)
14+
if !properties.nil? && properties.length > MAX_PROPERTIES_SIZE
15+
raise SecureNativeInvalidOptionsError, "You can have only up to #{MAX_PROPERTIES_SIZE} custom properties"
16+
end
17+
18+
if user_traits.nil?
19+
if user_name && email && phone && created_at
20+
user_traits = UserTraits(user_name, email, phone, created_at)
21+
elsif user_name && email && phone
22+
user_traits = UserTraits(user_name, email, phone)
23+
elsif user_name && email
24+
user_traits = UserTraits(user_name, email)
25+
else
26+
user_traits = UserTraits.new
27+
end
28+
end
29+
830
@event = event
931
@user_id = user_id
1032
@user_traits = user_traits

lib/models/sdk_event.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
require 'utils/encryption_utils'
55
require 'utils/date_utils'
66
require 'models/request_context'
7+
require 'securerandom'
78

89
class SDKEvent
910
attr_reader :context, :rid, :event_type, :user_id, :user_traits, :request, :timestamp, :properties

spec/spec_api_manager.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
event_manager.start_event_persist
3030
api_manager = ApiManager.new(event_manager, options)
3131
event_options = EventOptions.new(event: EventTypes::LOG_IN, user_id: 'USER_ID',
32-
user_traits: UserTraits.new(name: 'USER_NAME', email: 'USER_EMAIL', phone: '+1234567890'),
33-
properties: { prop1: 'CUSTOM_PARAM_VALUE', prop2: true, prop3: 3 })
32+
user_traits: UserTraits.new(name: 'USER_NAME', email: 'USER_EMAIL', phone: '+1234567890'),
33+
properties: { prop1: 'CUSTOM_PARAM_VALUE', prop2: true, prop3: 3 })
3434

3535
begin
3636
api_manager.track(event_options)
@@ -71,8 +71,8 @@
7171
event_manager.start_event_persist
7272
api_manager = ApiManager.new(event_manager, options)
7373
event_options = EventOptions.new(event: EventTypes::LOG_IN, user_id: 'USER_ID',
74-
user_traits: UserTraits.new(name: 'USER_NAME', email: 'USER_EMAIL', phone: '+1234567890'),
75-
properties: { prop1: 'CUSTOM_PARAM_VALUE', prop2: true, prop3: 3 })
74+
user_traits: UserTraits.new(name: 'USER_NAME', email: 'USER_EMAIL', phone: '+1234567890'),
75+
properties: { prop1: 'CUSTOM_PARAM_VALUE', prop2: true, prop3: 3 })
7676

7777
result = api_manager.verify(event_options)
7878

0 commit comments

Comments
 (0)