8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/behavior_lens/report_generator.rb', line 8
def self.generate(click_tracker, session_tracker, event_tracker, format)
clicks = click_tracker.report
sessions = session_tracker.report
events = event_tracker.report
data = {
clicks: clicks.map { |click| { link: click[:link], count: click[:count] } },
sessions: sessions.map do |session|
{ user_id: session[:user_id], start_time: session[:start_time], end_time: session[:end_time] }
end,
events: events.map { |event| { name: event[:name], metadata: event[:metadata], timestamp: event[:timestamp] } }
}
case format
when :json
JSON.pretty_generate(data)
when :csv
generate_csv(data)
else
data.to_s
end
end
|