Class: Snapstats::EventReader::UserActivity
- Inherits:
-
Object
- Object
- Snapstats::EventReader::UserActivity
- Defined in:
- lib/event_reader/event_reader.rb
Class Method Summary collapse
- .fetch_all ⇒ Object
- .fetch_chart_for_user(user_id) ⇒ Object
- .fetch_email_by_uid(user_id) ⇒ Object
- .fetch_for_user(user_id, from = '+inf', to = '-inf') ⇒ Object
Class Method Details
.fetch_all ⇒ Object
136 137 138 139 140 141 |
# File 'lib/event_reader/event_reader.rb', line 136 def self.fetch_all Snapstats.redis.hgetall(Snapstats.mday("activity:users")).map do |uid, values| values = JSON.parse(values, :symbolize_names => true) self.new(email: values[:email], date: Time.at(values[:ts].to_i), path: values[:path], user_id: uid) end end |
.fetch_chart_for_user(user_id) ⇒ Object
161 162 163 |
# File 'lib/event_reader/event_reader.rb', line 161 def self.fetch_chart_for_user user_id fetch_for_user(user_id).group_by{ |i| i.date.beginning_of_minute }.map{ |k, v| { date: k.to_i, value: v.count } } end |
.fetch_email_by_uid(user_id) ⇒ Object
156 157 158 159 |
# File 'lib/event_reader/event_reader.rb', line 156 def self.fetch_email_by_uid user_id data = Snapstats.redis.hgetall(Snapstats.mday("activity:users"))[user_id] JSON.parse(data, :symbolize_names => true)[:email] if data end |
.fetch_for_user(user_id, from = '+inf', to = '-inf') ⇒ Object
143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/event_reader/event_reader.rb', line 143 def self.fetch_for_user user_id, from='+inf', to='-inf' Snapstats.redis.zrevrangebyscore(Snapstats.mday("activity:user:#{user_id}"), from, to).map do |i| v = JSON.parse(i, :symbolize_names => true) self.new( path: v[:path], render_time: v[:total], os: v[:os], browser: v[:brwsr], version: v[:brver], date: Time.at(v[:ts].to_i)) end end |