action_tracker 0.1.0.4 → 0.1.0.5

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
  SHA1:
3
- metadata.gz: ca216a7f089af0698cc33011d093feb69490860c
4
- data.tar.gz: da50b64e31e0ebcfd3c8664070e09c161e7e4c78
3
+ metadata.gz: e0aa0ea9491284d33c73273a8004424199fc0072
4
+ data.tar.gz: 349a3e5e5dce692e4fc60211e2d6a7b62f51e728
5
5
  SHA512:
6
- metadata.gz: 3bf5d2242306b8f9c89e6738fa2aec7ed4c935ff5243b03acae68a6cbe2712f558505e222398f1e12e3fd1e7d9d752ea7fc61161baa8a0bf65b0249ee83783b7
7
- data.tar.gz: af2c98a243dfaaa4b15dfc01eedd6f506671c335bc5184a6101d097f648b08bb640f5bc7efb7c089d402c6789794011943c74226ff021da80f10012ac962476e
6
+ metadata.gz: d22679f53c22c92968a7ceb7027b73609c16c1653106cac6d74932284e60fc0626144339d41294b2220b9818cd19ad66c82578f3fac937141ccb247ad04d5f42
7
+ data.tar.gz: 8df94803bd46acc2a0551a60c88c3854c1dcf0848943913c3d6a53cda684a1c81d80b3ab5566c861d330519add47d214d7ee74260075c1a870ad3232ba8a6a20
@@ -1,15 +1,21 @@
1
1
  module ActionTracker
2
2
  # nodoc
3
3
  class Base
4
- attr_reader :params, :resource
4
+ attr_reader :kontroller, :resource
5
5
 
6
- def initialize(resource, params)
6
+ def initialize(resource, kontroller)
7
7
  @resource = resource
8
- @params = params
8
+ @kontroller = kontroller
9
+ init_instance_variables if kontroller
9
10
  end
10
11
 
11
- def user
12
- @resource
12
+ private
13
+
14
+ def init_instance_variables
15
+ kontroller.instance_variables.each do |instance_var|
16
+ instance_variable_set(instance_var, kontroller.instance_variable_get(instance_var))
17
+ end
13
18
  end
19
+
14
20
  end
15
21
  end
@@ -14,8 +14,7 @@ module ActionTracker
14
14
 
15
15
  def track_event
16
16
  session[:action_tracker] ||= []
17
- output = tracker_params
18
- session[:action_tracker] << output unless output.blank?
17
+ session[:action_tracker] << tracker_params unless tracker_params.blank?
19
18
  end
20
19
 
21
20
  private
@@ -37,14 +36,13 @@ module ActionTracker
37
36
  end
38
37
 
39
38
  def tracker_instance
40
- @tracker_instance ||= Object.const_get(tracker_klass, false).new(resource, params)
39
+ @tracker_instance ||= Object.const_get(tracker_klass, false).new(resource, self)
41
40
  rescue NameError
42
41
  nil
43
42
  end
44
43
 
45
44
  def tracker_params
46
- return nil unless tracker_exists?
47
- tracker_instance.method(action_name).call
45
+ @tracker_params ||= tracker_exists? ? tracker_instance.method(action_name).call : nil
48
46
  end
49
47
 
50
48
  def tracker_exists?
@@ -3,7 +3,7 @@ module ActionTracker
3
3
  # nodoc
4
4
  module Render
5
5
  def track_event
6
- output = session[:action_tracker].to_s
6
+ output = session[:action_tracker].flatten.to_s
7
7
  session[:action_tracker] = nil
8
8
  output
9
9
  end
@@ -1,3 +1,3 @@
1
1
  module ActionTracker
2
- VERSION = "0.1.0.4"
2
+ VERSION = "0.1.0.5"
3
3
  end
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
4
+ version: 0.1.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - André Taiar
@@ -155,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
155
155
  version: '0'
156
156
  requirements: []
157
157
  rubyforge_project:
158
- rubygems_version: 2.4.8
158
+ rubygems_version: 2.4.5
159
159
  signing_key:
160
160
  specification_version: 4
161
161
  summary: Easy way to track actions in your application.