devise-activity 0.2.0 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 268948e8ed3286dbe1ad11b6f7ecba42ca45bb792ee0248ba988e4a13f8da9fe
4
- data.tar.gz: 9ac2c4a71c423406cffdc841e4eab2b50811cf5d4c9c1f1268c6d488f1eae3a6
3
+ metadata.gz: b57329ba652624d1da6fa13bcbcb5d7fdb2c46e5f453911d38a5af6fa7086380
4
+ data.tar.gz: 995ba8041678b1cd227e261ebfa8e54d78b208a97a53bb777bbebf96e8030b41
5
5
  SHA512:
6
- metadata.gz: a05740d5551f484026ec4b8e7dff37f3d14c0c5a09a0a3a6b15699b8010ad3ebec4d4fd89131682ca963d2580ca9400d55dcb4b34015a768672ac732d32eadc1
7
- data.tar.gz: 992b73404a4cd3a51d736ed35ac001455c13f8d0a24e567e2549b89f93a88c04d0db0f67ac5d6789139eb70df2abb05129c7b7e2d2e990de3b691964d48147b6
6
+ metadata.gz: 7c4f77c0982446a9a5789b1617c9393ecbfe8dc1abe7d1f34fd36ad4e9aa741d6e7a27ad3fb918890d9e5efb1fbe2cc65b677bf78b57047a4e9e2bde707f5c06
7
+ data.tar.gz: e91ba1898431495523bfc47fe2b472e12955cc3402d705a3446286d840f44725cdaf89f4579e59d346e65ece645ebfcb00f7843715e76800673006bd9caf6358
data/README.rdoc CHANGED
@@ -57,7 +57,28 @@ will return last account was created by which user. Similarily
57
57
 
58
58
  DeviseActivity::Navigation.last.controller
59
59
 
60
- will tells us which user updated account with id 8
60
+ DeviseActivity also provide few handy model methods for Statistics
61
+
62
+ DeviseActivity::Stats.most_visits_by
63
+
64
+ DeviseActivity::Stats.least_visits_by
65
+
66
+ DeviseActivity::Stats.most_popular_controller
67
+
68
+ DeviseActivity::Stats.least_popular_controller
69
+
70
+ DeviseActivity::Stats.most_popular_action
71
+
72
+ DeviseActivity::Stats.least_popular_action
73
+
74
+ DeviseActivity::Stats.most_visited_page
75
+
76
+ DeviseActivity::Stats.least_visited_page
77
+
78
+ DeviseActivity::Stats.most_sign_ins_by
79
+
80
+ DeviseActivity::Stats.total_sign_ins(user)
81
+
61
82
 
62
83
  == TODO
63
84
 
@@ -3,39 +3,43 @@ module DeviseActivity
3
3
  class << self
4
4
 
5
5
  def most_visits_by
6
- DeviseActivity::Navigation.joins(:session).group("sessions.user_id").count.max_by{|k, v| v }.first
6
+ 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
7
7
  end
8
8
 
9
9
  def least_visits_by
10
- DeviseActivity::Navigation.joins(:session).group("sessions.user_id").count.min_by{|k, v| v }.first
10
+ 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
11
11
  end
12
12
 
13
13
  def most_popular_action
14
-
14
+ DeviseActivity::Navigation.group("action_name").count.max_by{|k, v| v}.first
15
15
  end
16
16
 
17
17
  def least_popular_action
18
-
18
+ DeviseActivity::Navigation.group("action_name").count.min_by{|k, v| v}.first
19
19
  end
20
20
 
21
21
  def most_popular_controller
22
-
22
+ DeviseActivity::Navigation.group("controller_name").count.max_by{|k, v| v}.first
23
23
  end
24
24
 
25
25
  def least_popular_controller
26
-
26
+ DeviseActivity::Navigation.group("controller_name").count.min_by{|k, v| v}.first
27
27
  end
28
28
 
29
29
  def most_visited_page
30
+ DeviseActivity::Navigation.group("page_url").count.max_by{|k, v| v}.first
31
+ end
30
32
 
33
+ def least_visited_page
34
+ DeviseActivity::Navigation.group("page_url").count.min_by{|k, v| v}.first
31
35
  end
32
36
 
33
37
  def most_sign_ins_by
34
-
38
+ DeviseActivity.configuration.devise_model_name.classify.constantize.find((DeviseActivity::Session.group("#{DeviseActivity.configuration.devise_model_name}_id").count.max_by{|k, v| v }.first) rescue nil
35
39
  end
36
40
 
37
- def sign_ins_count user
38
-
41
+ def total_sign_ins obj
42
+ Session.where("#{DeviseActivity.configuration.devise_model_name}_id = ?", obj.id).count
39
43
  end
40
44
 
41
45
  end
@@ -1,3 +1,3 @@
1
1
  module DeviseActivity
2
- VERSION = "0.2.0"
2
+ VERSION = "1.0.0"
3
3
  end
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise-activity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - M Shahzad Tariq
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-27 00:00:00.000000000 Z
11
+ date: 2019-03-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - '>='
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '3'
27
27
  description: Store devise user session and page visiting history with duration and
@@ -93,17 +93,16 @@ require_paths:
93
93
  - lib
94
94
  required_ruby_version: !ruby/object:Gem::Requirement
95
95
  requirements:
96
- - - ">="
96
+ - - '>='
97
97
  - !ruby/object:Gem::Version
98
98
  version: '0'
99
99
  required_rubygems_version: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - ">="
101
+ - - '>='
102
102
  - !ruby/object:Gem::Version
103
103
  version: '0'
104
104
  requirements: []
105
- rubyforge_project:
106
- rubygems_version: 2.7.7
105
+ rubygems_version: 3.0.2
107
106
  signing_key:
108
107
  specification_version: 4
109
108
  summary: Store devise user session and page visiting history with duration and date/time