devise-activity 0.2.0 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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