Class: BehaviorLens::SessionTracker

Inherits:
Object
  • Object
show all
Defined in:
lib/behavior_lens/session_tracker.rb

Instance Method Summary collapse

Constructor Details

#initializeSessionTracker

Returns a new instance of SessionTracker.



8
9
10
# File 'lib/behavior_lens/session_tracker.rb', line 8

def initialize
  Database.connect
end

Instance Method Details

#end(user_id) ⇒ Object



19
20
21
22
23
24
# File 'lib/behavior_lens/session_tracker.rb', line 19

def end(user_id)
  session = Session.find_by(user_id: user_id, end_time: nil)
  return unless session

  session.update(end_time: Time.now)
end

#reportObject



26
27
28
29
30
31
32
33
34
# File 'lib/behavior_lens/session_tracker.rb', line 26

def report
  Session.all.map do |session|
    {
      user_id: session.user_id,
      start_time: session.start_time,
      end_time: session.end_time
    }
  end
end

#start(user_id) ⇒ Object



12
13
14
15
16
17
# File 'lib/behavior_lens/session_tracker.rb', line 12

def start(user_id)
  Session.create(
    user_id: user_id,
    start_time: Time.now
  )
end