Module: Gricer::ActiveModel::Session::ClassMethods
- Defined in:
- lib/gricer/active_model/session.rb
Instance Method Summary collapse
-
#bounce_rate ⇒ Float
Get the bounce rate .
-
#bounce_sessions ⇒ ActiveRecord::Relation/Mongoid::Criteria
Filter out only bounce sessions (sessions with just one request).
-
#new_visitors ⇒ Object
Get the new visitor rate.
-
#new_visits ⇒ ActiveRecord::Relation/Mongoid::Criteria
Filter out only new visits (which does not have a previous_session).
-
#requests_per_session ⇒ Float
Get the average count of requests per session.
Instance Method Details
#bounce_rate ⇒ Float
Get the bounce rate
This is the rate of sessions with one request to sessions with multiple requests.
29 30 31 32 33 34 35 |
# File 'lib/gricer/active_model/session.rb', line 29 def bounce_rate if (c = self.count) > 0 self.bounce_sessions.count / c.to_f else 0 end end |
#bounce_sessions ⇒ ActiveRecord::Relation/Mongoid::Criteria
Filter out only bounce sessions (sessions with just one request)
15 16 17 |
# File 'lib/gricer/active_model/session.rb', line 15 def bounce_sessions self.where(requests_count: 1) end |
#new_visitors ⇒ Object
Get the new visitor rate
This is the rate of new sessions to all sessions return [Float]
52 53 54 55 56 57 58 |
# File 'lib/gricer/active_model/session.rb', line 52 def new_visitors if (c = self.count) > 0 self.new_visits.count / c.to_f else 0 end end |
#new_visits ⇒ ActiveRecord::Relation/Mongoid::Criteria
Filter out only new visits (which does not have a previous_session)
21 22 23 |
# File 'lib/gricer/active_model/session.rb', line 21 def new_visits self.where(previous_session_id: nil) end |
#requests_per_session ⇒ Float
Get the average count of requests per session.
40 41 42 43 44 45 46 |
# File 'lib/gricer/active_model/session.rb', line 40 def requests_per_session if (c = self.count) > 0 self.sum(:requests_count) / c.to_f else 0 end end |