devise-activity 1.0.0 → 1.0.3

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: 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