Class: Hackle::User::Builder
- Inherits:
-
Object
- Object
- Hackle::User::Builder
- Defined in:
- lib/hackle/user.rb
Instance Method Summary collapse
- #build ⇒ User
- #device_id(device_id) ⇒ User::Builder
- #id(id) ⇒ User::Builder
- #identifier(identifier_type, identifier_value) ⇒ User::Builder
- #identifiers(identifiers) ⇒ User::Builder
-
#initialize ⇒ Builder
constructor
A new instance of Builder.
- #properties(properties) ⇒ User::Builder
- #property(key, value) ⇒ User::Builder
- #user_id(user_id) ⇒ User::Builder
Constructor Details
#initialize ⇒ Builder
Returns a new instance of Builder.
56 57 58 59 |
# File 'lib/hackle/user.rb', line 56 def initialize @identifiers = IdentifiersBuilder.new @properties = PropertiesBuilder.new end |
Instance Method Details
#build ⇒ User
113 114 115 116 117 118 119 120 121 |
# File 'lib/hackle/user.rb', line 113 def build User.new( id: @id, user_id: @user_id, device_id: @device_id, identifiers: @identifiers.build, properties: @properties.build ) end |
#device_id(device_id) ⇒ User::Builder
77 78 79 80 |
# File 'lib/hackle/user.rb', line 77 def device_id(device_id) @device_id = IdentifiersBuilder.sanitize_value_or_nil(device_id) self end |
#id(id) ⇒ User::Builder
63 64 65 66 |
# File 'lib/hackle/user.rb', line 63 def id(id) @id = IdentifiersBuilder.sanitize_value_or_nil(id) self end |
#identifier(identifier_type, identifier_value) ⇒ User::Builder
85 86 87 88 |
# File 'lib/hackle/user.rb', line 85 def identifier(identifier_type, identifier_value) @identifiers.add(identifier_type, identifier_value) self end |
#identifiers(identifiers) ⇒ User::Builder
92 93 94 95 |
# File 'lib/hackle/user.rb', line 92 def identifiers(identifiers) @identifiers.add_all(identifiers) self end |
#properties(properties) ⇒ User::Builder
107 108 109 110 |
# File 'lib/hackle/user.rb', line 107 def properties(properties) @properties.add_all(properties) self end |
#property(key, value) ⇒ User::Builder
100 101 102 103 |
# File 'lib/hackle/user.rb', line 100 def property(key, value) @properties.add(key, value) self end |
#user_id(user_id) ⇒ User::Builder
70 71 72 73 |
# File 'lib/hackle/user.rb', line 70 def user_id(user_id) @user_id = IdentifiersBuilder.sanitize_value_or_nil(user_id) self end |