devise-activity 1.0.0 → 1.0.3

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: b57329ba652624d1da6fa13bcbcb5d7fdb2c46e5f453911d38a5af6fa7086380
4
- data.tar.gz: 995ba8041678b1cd227e261ebfa8e54d78b208a97a53bb777bbebf96e8030b41
3
+ metadata.gz: c578f32e7e3af0d7091b9b7f0c53ff8c9ebcaa58cee70a9fdd3eaea4ac848e16
4
+ data.tar.gz: 13c6ad3d85c434b70626b978efd01a7f1c9038414e6abef01a5ba64d7a5caa92
5
5
  SHA512:
6
- metadata.gz: 7c4f77c0982446a9a5789b1617c9393ecbfe8dc1abe7d1f34fd36ad4e9aa741d6e7a27ad3fb918890d9e5efb1fbe2cc65b677bf78b57047a4e9e2bde707f5c06
7
- data.tar.gz: e91ba1898431495523bfc47fe2b472e12955cc3402d705a3446286d840f44725cdaf89f4579e59d346e65ece645ebfcb00f7843715e76800673006bd9caf6358
6
+ metadata.gz: eec23cb6b21c8610f6c9a2526f4f898450b2866f143d07ba95753f05cf6afd2a8866d6448bc95f4c9edb5cb460e8f3a8ebe1e6bfb9608c1ac6e52b32ac0e81e0
7
+ data.tar.gz: 5d2ec6c4eae96cdb50e5a81bdb5d396aabd243404a39759fcf60fd5b24e09aaffc5da759337506fc5d76f2544adae3598435feb0ebed3b75539fe6a71bf3cc91
data/README.rdoc CHANGED
@@ -78,7 +78,7 @@ DeviseActivity also provide few handy model methods for Statistics
78
78
  DeviseActivity::Stats.most_sign_ins_by
79
79
 
80
80
  DeviseActivity::Stats.total_sign_ins(user)
81
-
81
+
82
82
 
83
83
  == TODO
84
84
 
@@ -42,6 +42,8 @@ module DeviseActivity
42
42
  require "devise_activity/extenders/navigation"
43
43
  require "devise_activity/session"
44
44
  require "devise_activity/navigation"
45
+ require "devise_activity/stats"
46
+ require "devise_activity/devise_model"
45
47
  ActiveRecord::Base.extend DeviseActivity::Extenders::Session
46
48
  ActiveRecord::Base.extend DeviseActivity::Extenders::Navigation
47
49
  end
@@ -0,0 +1,19 @@
1
+ module DeviseActivity
2
+ class DeviseModel
3
+ DeviseActivity.configuration.devise_model_name.classify.constantize.instance_eval do
4
+ has_many :devise_activity_sessions, class_name: 'DeviseActivity::Session'
5
+ end
6
+
7
+ DeviseActivity.configuration.devise_model_name.classify.constantize.class_eval do
8
+ def total_sign_ins
9
+ self.devise_activity_sessions.count
10
+ end
11
+
12
+ alias_method :sign_ins_count, :total_sign_ins
13
+
14
+ def navigations
15
+ DeviseActivity::Navigation.where("#{DeviseActivity.configuration.sessions_table_name.singularize}_id IN (?)", self.devise_activity_sessions.pluck(:id))
16
+ end
17
+ end
18
+ end
19
+ end
@@ -6,6 +6,7 @@ module DeviseActivity
6
6
 
7
7
  has_many :navigations, class_name: 'DeviseActivity::Navigation'
8
8
 
9
+ belongs_to DeviseActivity.configuration.devise_model_name.to_sym
9
10
 
10
11
  class << self
11
12
  def current user
@@ -1,5 +1,6 @@
1
1
  module DeviseActivity
2
2
  class Stats
3
+
3
4
  class << self
4
5
 
5
6
  def most_visits_by
@@ -34,8 +35,13 @@ module DeviseActivity
34
35
  DeviseActivity::Navigation.group("page_url").count.min_by{|k, v| v}.first
35
36
  end
36
37
 
38
+ def page_view_count page_url
39
+ DeviseActivity::Navigation.where(page_url: page_url).count
40
+ end
41
+
37
42
  def most_sign_ins_by
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
43
+ id = DeviseActivity::Session.group("#{DeviseActivity.configuration.devise_model_name}_id").count.max_by{|k, v| v }.first
44
+ DeviseActivity.configuration.devise_model_name.classify.constantize.find(id) rescue nil
39
45
  end
40
46
 
41
47
  def total_sign_ins obj
@@ -1,3 +1,3 @@
1
1
  module DeviseActivity
2
- VERSION = "1.0.0"
2
+ VERSION = "1.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devise-activity
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.3
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-28 00:00:00.000000000 Z
11
+ date: 2019-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -37,6 +37,7 @@ files:
37
37
  - Rakefile
38
38
  - lib/devise_activity.rb
39
39
  - lib/devise_activity/configuration.rb
40
+ - lib/devise_activity/devise_model.rb
40
41
  - lib/devise_activity/extenders/navigation.rb
41
42
  - lib/devise_activity/extenders/session.rb
42
43
  - lib/devise_activity/navigation.rb