Class: AmplitudeExperiment::User
- Inherits:
-
Object
- Object
- AmplitudeExperiment::User
- Defined in:
- lib/experiment/user.rb
Overview
Defines a user context for evaluation. ‘device_id` and `user_id` are used for identity resolution. All other predefined fields and user properties are used for rule based user targeting.
Instance Attribute Summary collapse
-
#carrier ⇒ String?
Predefined field, must be manually provided.
-
#city ⇒ String?
Predefined field, must be manually provided.
-
#country ⇒ String?
Predefined field, must be manually provided.
-
#device_brand ⇒ String?
Predefined field, must be manually provided.
-
#device_id ⇒ String?
Device ID for associating with an identity in Amplitude.
-
#device_manufacturer ⇒ String?
Predefined field, must be manually provided.
-
#device_model ⇒ String?
Predefined field, must be manually provided.
-
#dma ⇒ String?
Predefined field, must be manually provided.
-
#language ⇒ String?
Predefined field, must be manually provided.
-
#library ⇒ String?
Predefined field, auto populated, can be manually overridden.
-
#os ⇒ String?
Predefined field, must be manually provided.
-
#platform ⇒ String?
Predefined field, must be manually provided.
-
#region ⇒ String?
Predefined field, must be manually provided.
-
#user_id ⇒ String?
User ID for associating with an identity in Amplitude.
-
#user_properties ⇒ Hash?
Custom user properties.
-
#version ⇒ String?
Predefined field, must be manually provided.
Instance Method Summary collapse
-
#as_json(_options = {}) ⇒ Hash
Return User as Hash.
-
#initialize(device_id: nil, user_id: nil, country: nil, city: nil, region: nil, dma: nil, language: nil, platform: nil, version: nil, os: nil, device_manufacturer: nil, device_brand: nil, device_model: nil, carrier: nil, library: nil, user_properties: nil) ⇒ User
constructor
A new instance of User.
-
#to_json(*options) ⇒ String
Return user information as JSON string.
Constructor Details
#initialize(device_id: nil, user_id: nil, country: nil, city: nil, region: nil, dma: nil, language: nil, platform: nil, version: nil, os: nil, device_manufacturer: nil, device_brand: nil, device_model: nil, carrier: nil, library: nil, user_properties: nil) ⇒ User
Returns a new instance of User.
87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/experiment/user.rb', line 87 def initialize(device_id: nil, user_id: nil, country: nil, city: nil, region: nil, dma: nil, language: nil, platform: nil, version: nil, os: nil, device_manufacturer: nil, device_brand: nil, device_model: nil, carrier: nil, library: nil, user_properties: nil) @device_id = device_id @user_id = user_id @country = country @city = city @region = region @dma = dma @language = language @platform = platform @version = version @os = os @device_manufacturer = device_manufacturer @device_brand = device_brand @device_model = device_model @carrier = carrier @library = library @user_properties = user_properties end |
Instance Attribute Details
#carrier ⇒ String?
Predefined field, must be manually provided
61 62 63 |
# File 'lib/experiment/user.rb', line 61 def carrier @carrier end |
#city ⇒ String?
Predefined field, must be manually provided
21 22 23 |
# File 'lib/experiment/user.rb', line 21 def city @city end |
#country ⇒ String?
Predefined field, must be manually provided
17 18 19 |
# File 'lib/experiment/user.rb', line 17 def country @country end |
#device_brand ⇒ String?
Predefined field, must be manually provided
53 54 55 |
# File 'lib/experiment/user.rb', line 53 def device_brand @device_brand end |
#device_id ⇒ String?
Device ID for associating with an identity in Amplitude
9 10 11 |
# File 'lib/experiment/user.rb', line 9 def device_id @device_id end |
#device_manufacturer ⇒ String?
Predefined field, must be manually provided
49 50 51 |
# File 'lib/experiment/user.rb', line 49 def device_manufacturer @device_manufacturer end |
#device_model ⇒ String?
Predefined field, must be manually provided
57 58 59 |
# File 'lib/experiment/user.rb', line 57 def device_model @device_model end |
#dma ⇒ String?
Predefined field, must be manually provided
29 30 31 |
# File 'lib/experiment/user.rb', line 29 def dma @dma end |
#language ⇒ String?
Predefined field, must be manually provided
33 34 35 |
# File 'lib/experiment/user.rb', line 33 def language @language end |
#library ⇒ String?
Predefined field, auto populated, can be manually overridden
65 66 67 |
# File 'lib/experiment/user.rb', line 65 def library @library end |
#os ⇒ String?
Predefined field, must be manually provided
45 46 47 |
# File 'lib/experiment/user.rb', line 45 def os @os end |
#platform ⇒ String?
Predefined field, must be manually provided
37 38 39 |
# File 'lib/experiment/user.rb', line 37 def platform @platform end |
#region ⇒ String?
Predefined field, must be manually provided
25 26 27 |
# File 'lib/experiment/user.rb', line 25 def region @region end |
#user_id ⇒ String?
User ID for associating with an identity in Amplitude
13 14 15 |
# File 'lib/experiment/user.rb', line 13 def user_id @user_id end |
#user_properties ⇒ Hash?
Custom user properties
69 70 71 |
# File 'lib/experiment/user.rb', line 69 def user_properties @user_properties end |
#version ⇒ String?
Predefined field, must be manually provided
41 42 43 |
# File 'lib/experiment/user.rb', line 41 def version @version end |
Instance Method Details
#as_json(_options = {}) ⇒ Hash
Return User as Hash.
110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/experiment/user.rb', line 110 def as_json( = {}) { device_id: @device_id, user_id: @user_id, country: @country, city: @city, region: @region, dma: @dma, language: @language, platform: @platform, version: @version, os: @os, device_manufacturer: @device_manufacturer, device_brand: @device_brand, device_model: @device_model, carrier: @carrier, library: @library, user_properties: @user_properties } end |
#to_json(*options) ⇒ String
Return user information as JSON string.
133 134 135 |
# File 'lib/experiment/user.rb', line 133 def to_json(*) as_json(*).to_json(*) end |