omniturize 0.0.3 → 0.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.
- data/lib/omniturize/base.rb +11 -5
- data/lib/omniturize/meta_js.rb +15 -1
- data/lib/omniturize/meta_var.rb +15 -1
- data/lib/omniturize/printer.rb +4 -2
- data/lib/omniturize/version.rb +1 -1
- data/lib/omniturize_rails.rb +1 -1
- metadata +4 -4
data/lib/omniturize/base.rb
CHANGED
@@ -38,9 +38,7 @@ module Omniturize
|
|
38
38
|
def filter_collection_for_action(collection, action)
|
39
39
|
return collection if action.blank?
|
40
40
|
collection.select do |element|
|
41
|
-
|
42
|
-
(element.except.present? && !element.except.include?(action.try(:to_sym))) ||
|
43
|
-
(element.only.blank? && element.except.blank?)
|
41
|
+
element.passes_filter?(action)
|
44
42
|
end
|
45
43
|
end
|
46
44
|
|
@@ -77,13 +75,21 @@ module Omniturize
|
|
77
75
|
end
|
78
76
|
end
|
79
77
|
|
78
|
+
def find_vars(name, options = {})
|
79
|
+
meta_vars_to_vars(self.class.find_meta_vars(name, options))
|
80
|
+
end
|
81
|
+
|
80
82
|
def find_var(name, options = {})
|
81
|
-
|
83
|
+
find_vars(name, options).first
|
84
|
+
end
|
85
|
+
|
86
|
+
def find_values(name, options = {})
|
87
|
+
find_vars(name, options).map(&:value)
|
82
88
|
end
|
83
89
|
|
84
90
|
def meta_vars_to_vars(meta_vars)
|
85
91
|
meta_vars.inject([]) do |vars, meta_var|
|
86
|
-
vars << meta_var.value(controller) if meta_var
|
92
|
+
vars << (meta_var.value(controller) if meta_var) rescue nil
|
87
93
|
vars
|
88
94
|
end
|
89
95
|
end
|
data/lib/omniturize/meta_js.rb
CHANGED
@@ -36,7 +36,21 @@ module Omniture
|
|
36
36
|
|
37
37
|
def return_var(scope)
|
38
38
|
value_procs.map{ |p| scope.instance_eval(&p) }.flatten.uniq.join(delimiter)
|
39
|
-
#scope.instance_eval(&p)
|
40
39
|
end
|
40
|
+
|
41
|
+
def passes_filter?(filter)
|
42
|
+
passes_only_filter?(filter) && passes_except_filter?(filter)
|
43
|
+
end
|
44
|
+
|
45
|
+
private
|
46
|
+
|
47
|
+
def passes_only_filter?(filter)
|
48
|
+
only.blank? || only.detect{|x| x.is_a?(Regexp) ? filter.match(x) : filter.to_sym == x.to_sym}.present?
|
49
|
+
end
|
50
|
+
|
51
|
+
def passes_except_filter?(filter)
|
52
|
+
except.blank? || except.detect{|x| x.is_a?(Regexp) ? filter.match(x) : filter.to_sym == x.to_sym}.blank?
|
53
|
+
end
|
54
|
+
|
41
55
|
end
|
42
56
|
end
|
data/lib/omniturize/meta_var.rb
CHANGED
@@ -48,6 +48,20 @@ module Omniturize
|
|
48
48
|
else raise ArgumentError.new('name must be a String or a Regexp')
|
49
49
|
end
|
50
50
|
end
|
51
|
-
|
51
|
+
|
52
|
+
def passes_filter?(filter)
|
53
|
+
passes_only_filter?(filter) && passes_except_filter?(filter)
|
54
|
+
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
def passes_only_filter?(filter)
|
59
|
+
only.blank? || only.detect{|x| x.is_a?(Regexp) ? filter.match(x) : filter.to_sym == x.to_sym}.present?
|
60
|
+
end
|
61
|
+
|
62
|
+
def passes_except_filter?(filter)
|
63
|
+
except.blank? || except.detect{|x| x.is_a?(Regexp) ? filter.match(x) : filter.to_sym == x.to_sym}.blank?
|
64
|
+
end
|
65
|
+
|
52
66
|
end
|
53
67
|
end
|
data/lib/omniturize/printer.rb
CHANGED
@@ -8,9 +8,11 @@ module Omniturize
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def js(options = {})
|
11
|
+
html_options = []
|
12
|
+
options[:html_options].each_pair{|k,v| html_options << "#{k}=\"#{v}\""} if options[:html_options].present?
|
11
13
|
output = <<-JS
|
12
14
|
<script type="text/javascript" language="JavaScript" src="#{Omniturize::js_src}"></script>
|
13
|
-
<script type="text/javascript" language="JavaScript">
|
15
|
+
<script type="text/javascript" language="JavaScript" #{html_options.join(' ')}>
|
14
16
|
#{js_vars(options)}
|
15
17
|
#{print_js_events(options)}
|
16
18
|
#{print_js_snippets(options)}
|
@@ -42,7 +44,7 @@ module Omniturize
|
|
42
44
|
|
43
45
|
def print_js_events(options = {})
|
44
46
|
values = js_events(options).join(',')
|
45
|
-
values.blank? ? nil : "s.events
|
47
|
+
values.blank? ? nil : "s.events=\"#{values}\""
|
46
48
|
end
|
47
49
|
|
48
50
|
def print_js_snippets(options = {})
|
data/lib/omniturize/version.rb
CHANGED
data/lib/omniturize_rails.rb
CHANGED
@@ -21,7 +21,7 @@ module Omniturize
|
|
21
21
|
|
22
22
|
@reporter ||= begin
|
23
23
|
options[:controller].present? ? "#{options[:controller].classify}Reporter".constantize.new(self) :
|
24
|
-
"#{self.
|
24
|
+
"#{self.class.name.gsub(/Controller$/, '')}Reporter".constantize.new(self)
|
25
25
|
rescue NameError
|
26
26
|
BasicReporter.new(self)
|
27
27
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: omniturize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 23
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 4
|
10
|
+
version: 0.0.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- eLafo
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-09-
|
18
|
+
date: 2011-09-17 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description: This gem integrates Omniture SiteCatalyst into your web app. You can specify vars, events and custom javascript for every action of a controller. This gem is proudly based on the omniture_client gem, from which it takes much code and ideas
|