Class: DeviseActivity::Stats

Inherits:
Object
  • Object
show all
Defined in:
lib/devise_activity/stats.rb

Class Method Summary collapse

Class Method Details



18
19
20
# File 'lib/devise_activity/stats.rb', line 18

def least_popular_action
  DeviseActivity::Navigation.group("action_name").count.min_by{|k, v| v}.first
end


26
27
28
# File 'lib/devise_activity/stats.rb', line 26

def least_popular_controller
  DeviseActivity::Navigation.group("controller_name").count.min_by{|k, v| v}.first
end

.least_visited_pageObject



34
35
36
# File 'lib/devise_activity/stats.rb', line 34

def least_visited_page
  DeviseActivity::Navigation.group("page_url").count.min_by{|k, v| v}.first
end

.least_visits_byObject



10
11
12
# File 'lib/devise_activity/stats.rb', line 10

def least_visits_by
  DeviseActivity.configuration.devise_model_name.classify.constantize.find(DeviseActivity::Navigation.joins(:session).group("sessions.user_id").count.min_by{|k, v| v }.first) rescue nil
end


14
15
16
# File 'lib/devise_activity/stats.rb', line 14

def most_popular_action
  DeviseActivity::Navigation.group("action_name").count.max_by{|k, v| v}.first
end


22
23
24
# File 'lib/devise_activity/stats.rb', line 22

def most_popular_controller
  DeviseActivity::Navigation.group("controller_name").count.max_by{|k, v| v}.first
end

.most_sign_ins_byObject



42
43
44
45
# File 'lib/devise_activity/stats.rb', line 42

def most_sign_ins_by
  id = DeviseActivity::Session.group("#{DeviseActivity.configuration.devise_model_name}_id").count.max_by{|k, v| v }.first
  DeviseActivity.configuration.devise_model_name.classify.constantize.find(id) rescue nil
end

.most_visited_pageObject



30
31
32
# File 'lib/devise_activity/stats.rb', line 30

def most_visited_page
  DeviseActivity::Navigation.group("page_url").count.max_by{|k, v| v}.first
end

.most_visits_byObject



6
7
8
# File 'lib/devise_activity/stats.rb', line 6

def most_visits_by
  DeviseActivity.configuration.devise_model_name.classify.constantize.find(DeviseActivity::Navigation.joins(:session).group("sessions.user_id").count.max_by{|k, v| v }.first) rescue nil
end

.page_view_count(page_url) ⇒ Object



38
39
40
# File 'lib/devise_activity/stats.rb', line 38

def page_view_count page_url
  DeviseActivity::Navigation.where(page_url: page_url).count
end

.total_sign_ins(obj) ⇒ Object



47
48
49
# File 'lib/devise_activity/stats.rb', line 47

def total_sign_ins obj
  Session.where("#{DeviseActivity.configuration.devise_model_name}_id = ?", obj.id).count
end