Class: Snapstats::EventReader::UserActivity

Inherits:
Object
  • Object
show all
Extended by:
EventReaderHelpers
Defined in:
lib/event_reader/event_reader.rb

Class Method Summary collapse

Methods included from EventReaderHelpers

floor_time

Class Method Details

.fetch_allObject



152
153
154
155
156
157
# File 'lib/event_reader/event_reader.rb', line 152

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, aprx = 10) ⇒ Object



177
178
179
# File 'lib/event_reader/event_reader.rb', line 177

def self.fetch_chart_for_user user_id, aprx=10
	fetch_for_user(user_id).group_by{ |i| floor_time(i.date.to_i, aprx.minutes) }.map{ |k, v| { date: k.to_i, value: v.count } }
end

.fetch_email_by_uid(user_id) ⇒ Object



172
173
174
175
# File 'lib/event_reader/event_reader.rb', line 172

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



159
160
161
162
163
164
165
166
167
168
169
170
# File 'lib/event_reader/event_reader.rb', line 159

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