action_tracker 0.1.0.3 → 0.1.0.4
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 +4 -4
- data/action_tracker.gemspec +10 -8
- data/lib/action_tracker/base.rb +10 -1
- data/lib/action_tracker/concerns/tracker.rb +33 -13
- data/lib/action_tracker/helpers/render.rb +3 -1
- data/lib/action_tracker/version.rb +1 -1
- metadata +31 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca216a7f089af0698cc33011d093feb69490860c
|
4
|
+
data.tar.gz: da50b64e31e0ebcfd3c8664070e09c161e7e4c78
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3bf5d2242306b8f9c89e6738fa2aec7ed4c935ff5243b03acae68a6cbe2712f558505e222398f1e12e3fd1e7d9d752ea7fc61161baa8a0bf65b0249ee83783b7
|
7
|
+
data.tar.gz: af2c98a243dfaaa4b15dfc01eedd6f506671c335bc5184a6101d097f648b08bb640f5bc7efb7c089d402c6789794011943c74226ff021da80f10012ac962476e
|
data/action_tracker.gemspec
CHANGED
@@ -4,25 +4,27 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
require 'action_tracker/version'
|
5
5
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
|
-
spec.name =
|
7
|
+
spec.name = 'action_tracker'
|
8
8
|
spec.version = ActionTracker::VERSION
|
9
|
-
spec.authors = [
|
10
|
-
spec.email = [
|
9
|
+
spec.authors = ['André Taiar', 'João Fraga']
|
10
|
+
spec.email = ['andre.taiar@appprova.com.br', 'joaogabriel@appprova.com.br']
|
11
11
|
|
12
12
|
spec.summary = %q{Easy way to track actions in your application.}
|
13
13
|
spec.description = %q{Easy way to track actions in your application without adding unnecessary code to your controllers.}
|
14
|
-
spec.homepage =
|
15
|
-
spec.license =
|
14
|
+
spec.homepage = 'http://coders.appprova.com.br/'
|
15
|
+
spec.license = 'MIT'
|
16
16
|
|
17
17
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
18
|
-
spec.bindir =
|
18
|
+
spec.bindir = 'exe'
|
19
19
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
20
|
-
spec.require_paths = [
|
20
|
+
spec.require_paths = ['lib']
|
21
21
|
|
22
22
|
spec.add_dependency 'rails3_before_render', '0.2.0'
|
23
23
|
spec.add_dependency 'activesupport', '~> 3.2'
|
24
|
+
spec.add_dependency 'devise', '~> 3.4'
|
24
25
|
|
25
26
|
spec.add_development_dependency "bundler", "~> 1.11"
|
26
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
27
|
-
spec.add_development_dependency "rspec", "~> 3.0"
|
28
|
+
spec.add_development_dependency "rspec-rails", "~> 3.0"
|
29
|
+
spec.add_development_dependency 'rails', '~> 3.2'
|
28
30
|
end
|
data/lib/action_tracker/base.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'active_support'
|
1
2
|
require 'rails3_before_render'
|
2
3
|
|
3
4
|
module ActionTracker
|
@@ -12,23 +13,42 @@ module ActionTracker
|
|
12
13
|
end
|
13
14
|
|
14
15
|
def track_event
|
15
|
-
|
16
|
-
|
17
|
-
|
16
|
+
session[:action_tracker] ||= []
|
17
|
+
output = tracker_params
|
18
|
+
session[:action_tracker] << output unless output.blank?
|
18
19
|
end
|
19
20
|
|
20
21
|
private
|
21
22
|
|
22
|
-
def
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
23
|
+
def tracker_klass
|
24
|
+
@tracker_klass ||= "#{namespace}#{controller_name.camelize}Tracker"
|
25
|
+
end
|
26
|
+
|
27
|
+
def resource
|
28
|
+
@resource ||= method(find_resource).call if find_resource
|
29
|
+
end
|
30
|
+
|
31
|
+
def find_resource
|
32
|
+
@resource_method ||= Devise.mappings.keys.map { |resource| "current_#{resource}" }
|
33
|
+
.select { |method_name| !method(method_name).call.nil? }
|
34
|
+
.first
|
35
|
+
rescue NameError
|
36
|
+
nil
|
37
|
+
end
|
38
|
+
|
39
|
+
def tracker_instance
|
40
|
+
@tracker_instance ||= Object.const_get(tracker_klass, false).new(resource, params)
|
41
|
+
rescue NameError
|
42
|
+
nil
|
43
|
+
end
|
44
|
+
|
45
|
+
def tracker_params
|
46
|
+
return nil unless tracker_exists?
|
47
|
+
tracker_instance.method(action_name).call
|
48
|
+
end
|
49
|
+
|
50
|
+
def tracker_exists?
|
51
|
+
tracker_instance && tracker_instance.respond_to?(action_name)
|
32
52
|
end
|
33
53
|
|
34
54
|
def namespace
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: action_tracker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0.
|
4
|
+
version: 0.1.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- André Taiar
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-04-
|
12
|
+
date: 2016-04-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails3_before_render
|
@@ -39,6 +39,20 @@ dependencies:
|
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '3.2'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: devise
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - "~>"
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '3.4'
|
49
|
+
type: :runtime
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - "~>"
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '3.4'
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
57
|
name: bundler
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -68,7 +82,7 @@ dependencies:
|
|
68
82
|
- !ruby/object:Gem::Version
|
69
83
|
version: '10.0'
|
70
84
|
- !ruby/object:Gem::Dependency
|
71
|
-
name: rspec
|
85
|
+
name: rspec-rails
|
72
86
|
requirement: !ruby/object:Gem::Requirement
|
73
87
|
requirements:
|
74
88
|
- - "~>"
|
@@ -81,6 +95,20 @@ dependencies:
|
|
81
95
|
- - "~>"
|
82
96
|
- !ruby/object:Gem::Version
|
83
97
|
version: '3.0'
|
98
|
+
- !ruby/object:Gem::Dependency
|
99
|
+
name: rails
|
100
|
+
requirement: !ruby/object:Gem::Requirement
|
101
|
+
requirements:
|
102
|
+
- - "~>"
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: '3.2'
|
105
|
+
type: :development
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '3.2'
|
84
112
|
description: Easy way to track actions in your application without adding unnecessary
|
85
113
|
code to your controllers.
|
86
114
|
email:
|