Module: Gricer::ActiveModel::Session::ClassMethods

Defined in:
lib/gricer/active_model/session.rb

Instance Method Summary collapse

Instance Method Details

#bounce_rateFloat

Get the bounce rate

This is the rate of sessions with one request to sessions with multiple requests.

Returns:

  • (Float)


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_sessionsActiveRecord::Relation/Mongoid::Criteria

Filter out only bounce sessions (sessions with just one request)

Returns:

  • (ActiveRecord::Relation/Mongoid::Criteria)


15
16
17
# File 'lib/gricer/active_model/session.rb', line 15

def bounce_sessions
  self.where(requests_count: 1)
end

#new_visitorsObject

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_visitsActiveRecord::Relation/Mongoid::Criteria

Filter out only new visits (which does not have a previous_session)

Returns:

  • (ActiveRecord::Relation/Mongoid::Criteria)


21
22
23
# File 'lib/gricer/active_model/session.rb', line 21

def new_visits
  self.where(previous_session_id: nil)
end

#requests_per_sessionFloat

Get the average count of requests per session.

Returns:

  • (Float)


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