Class: TestTrack::Session
- Inherits:
-
Object
- Object
- TestTrack::Session
- Defined in:
- app/models/test_track/session.rb
Constant Summary collapse
- COOKIE_LIFESPAN =
Used for visitor cookie
1.year
Instance Method Summary collapse
-
#initialize(controller) ⇒ Session
constructor
A new instance of Session.
- #log_in!(identifier_type, identifier_value, opts = {}) ⇒ Object
- #manage ⇒ Object
- #sign_up!(identifier_type, identifier_value) ⇒ Object
- #state_hash ⇒ Object
- #visitor_dsl ⇒ Object
Constructor Details
#initialize(controller) ⇒ Session
Returns a new instance of Session.
7 8 9 |
# File 'app/models/test_track/session.rb', line 7 def initialize(controller) @controller = controller end |
Instance Method Details
#log_in!(identifier_type, identifier_value, opts = {}) ⇒ Object
34 35 36 37 38 39 |
# File 'app/models/test_track/session.rb', line 34 def log_in!(identifier_type, identifier_value, opts = {}) @visitor = TestTrack::Visitor.new if opts[:forget_current_visitor] visitor.link_identifier!(identifier_type, identifier_value) self.mixpanel_distinct_id = visitor.id true end |
#manage ⇒ Object
11 12 13 14 15 16 17 18 |
# File 'app/models/test_track/session.rb', line 11 def manage yield ensure manage_response_headers! notify_unsynced_assignments! if sync_assignments? create_alias! if signed_up? end |
#sign_up!(identifier_type, identifier_value) ⇒ Object
41 42 43 44 |
# File 'app/models/test_track/session.rb', line 41 def sign_up!(identifier_type, identifier_value) visitor.link_identifier!(identifier_type, identifier_value) @signed_up = true end |
#state_hash ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'app/models/test_track/session.rb', line 24 def state_hash { url: TestTrack.url, cookieDomain: , cookieName: , registry: visitor.split_registry, assignments: visitor.assignment_json } end |
#visitor_dsl ⇒ Object
20 21 22 |
# File 'app/models/test_track/session.rb', line 20 def visitor_dsl @visitor_dsl ||= TestTrack::VisitorDSL.new(visitor) end |