fix impression page counter
This commit is contained in:
1 parent
c763817ebf
commit
ceac2b842c
8 files changed
+124
-47
No files matched your search
@@ -0,0 +1,18 @@
|
||||
class DelayImpressionistRequest
|
||||
attr_accessor :session_options,:remote_ip,:referer,:user_agent
|
||||
def initialize(request=nil)
|
||||
if request
|
||||
self.session_options=request.session_options
|
||||
self.remote_ip=request.remote_ip
|
||||
self.referer=request.referer
|
||||
self.user_agent=request.user_agent
|
||||
end
|
||||
end
|
||||
|
||||
def restore(args)
|
||||
args.each do |key,value|
|
||||
self.send("#{key}=", value)
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,29 @@
|
||||
module OrbitApp
|
||||
module Module
|
||||
module VisitorCounter
|
||||
Version = "0.1"
|
||||
|
||||
def display_visitors(options={})
|
||||
impressions = Impression.where(options).and(:referrer.ne => nil)
|
||||
impressions.map{|i| i[:session_hash]}.uniq.count
|
||||
end
|
||||
|
||||
def display_visitors_today
|
||||
display_visitors(created_at: {'$gte' => Date.today.beginning_of_day, '$lte' => Date.today.end_of_day})
|
||||
end
|
||||
|
||||
def display_visitors_this_week
|
||||
display_visitors(created_at: {'$gte' => Date.today.beginning_of_week, '$lte' => Date.today.end_of_week})
|
||||
end
|
||||
|
||||
def display_visitors_this_month
|
||||
display_visitors(created_at: {'$gte' => Date.today.beginning_of_month, '$lte' => Date.today.end_of_month})
|
||||
end
|
||||
|
||||
def display_visitors_this_year
|
||||
display_visitors(created_at: {'$gte' => Date.today.beginning_of_year, '$lte' => Date.today.end_of_year})
|
||||
end
|
||||
|
||||
end # of VisitorCounter
|
||||
end # of Module
|
||||
end # of OrbitApp
|
||||
Reference in new issue
Block a user