analytical 3.0.6 → 3.0.7

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/VERSION CHANGED
@@ -1 +1 @@
1
- 3.0.6
1
+ 3.0.7
data/analytical.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{analytical}
8
- s.version = "3.0.6"
8
+ s.version = "3.0.7"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Joshua Krall", "Nathan Phelps", "Adam Anderson", "Kevin Menard", "Ablyamitov Ablyamit", "Kurt Werle", "Olivier Lauzon", "Daniel Doubrovkine"]
12
- s.date = %q{2011-08-08}
12
+ s.date = %q{2011-09-09}
13
13
  s.description = %q{Gem for managing multiple analytics services in your rails app.}
14
14
  s.email = %q{josh@feefighters.com}
15
15
  s.extra_rdoc_files = [
data/lib/analytical.rb CHANGED
@@ -15,8 +15,14 @@ module Analytical
15
15
  env = (::Rails.env || :production).to_sym
16
16
  file_options = file_options[env] if file_options.has_key?(env)
17
17
  file_options.each do |k, v|
18
- config_options[k.to_sym] = v.symbolize_keys
19
- config_options[:modules] << k.to_sym unless options && options[:modules]
18
+ if v.respond_to?(:symbolize_keys)
19
+ # module configuration
20
+ config_options[k.to_sym] = v.symbolize_keys
21
+ config_options[:modules] << k.to_sym unless options && options[:modules]
22
+ else
23
+ # regular option
24
+ config_options[k.to_sym] = v
25
+ end
20
26
  end if file_options
21
27
  end if File.exists?("#{::Rails.root}/config/analytical.yml")
22
28
 
@@ -38,7 +44,7 @@ module Analytical
38
44
  options[:modules] = []
39
45
  end
40
46
  options[:modules] = options[:filter_modules].call(self, options[:modules]) if options[:filter_modules]
41
- options[:javascript_helpers] ||= true
47
+ options[:javascript_helpers] ||= true if options[:javascript_helpers].nil?
42
48
  Analytical::Api.new options
43
49
  end
44
50
  end
@@ -76,7 +76,7 @@ module Analytical
76
76
  if ::Rails::VERSION::MAJOR >= 3 && ::Rails::VERSION::MINOR >= 1 # Rails 3.1 lets us override views in engines
77
77
  js << options[:controller].send(:render_to_string, :partial=>'analytical_javascript') if options[:controller]
78
78
  else # All other rails
79
- _partial_path = Pathname.new(__FILE__).dirname.join('..', '..', 'app/views/application', 'analytical_javascript.html.erb').to_s
79
+ _partial_path = Pathname.new(__FILE__).dirname.join('..', '..', 'app/views/application', '_analytical_javascript.html.erb').to_s
80
80
  js << options[:controller].send(:render_to_string, :partial=>_partial_path) if options[:controller]
81
81
  end
82
82
  end
@@ -128,4 +128,4 @@ module Analytical
128
128
 
129
129
  end
130
130
 
131
- end
131
+ end
@@ -55,4 +55,4 @@ module Analytical
55
55
 
56
56
  end
57
57
  end
58
- end
58
+ end
@@ -111,6 +111,16 @@ describe "Analytical::Api" do
111
111
  @google.should_receive(:init_javascript).with(:head_append).and_return('google_a')
112
112
  @api.head_append_javascript.should == "console_agoogle_a"
113
113
  end
114
+ it 'should render an existing template for Rails 3.0' do
115
+ @api.options[:javascript_helpers] = true
116
+ (@api.options[:controller] ||= Object.new).stub!(:render_to_string) { |param| param[:partial] }
117
+ File.exist?(@api.head_append_javascript).should be_true
118
+ end
119
+ it 'should not render an existing template if javascript_helpers is false' do
120
+ @api.options[:javascript_helpers] = false
121
+ (@api.options[:controller] ||= Object.new).should_not_receive(:render_to_string)
122
+ @api.head_append_javascript.should be_blank
123
+ end
114
124
  end
115
125
 
116
126
  describe '#body_prepend_javascript' do
@@ -35,12 +35,6 @@ describe "Analytical::Modules::Clicky" do
35
35
  @api.init_javascript(:body_append).should =~ /static.getclicky.com\/js/
36
36
  @api.init_javascript(:body_append).should =~ /abcdef/
37
37
  end
38
- describe 'for an ssl connection' do
39
- it 'should return the ssl init code' do
40
- @api = Analytical::Modules::Clicky.new :parent=>@parent, :key=>'abcdef', :ssl=>true
41
- @api.init_javascript(:body_append).should =~ /https/
42
- end
43
- end
44
38
  describe 'with an identify command queued' do
45
39
  @api = Analytical::Modules::Clicky.new :parent=>@parent, :key=>'abcdef'
46
40
  @api.queue :identify, 'user id', {:email=>'someone@test.com'}
@@ -25,6 +25,16 @@ describe "Analytical" do
25
25
  DummyForInit.analytical
26
26
  d = DummyForInit.new.analytical
27
27
  d.options[:modules].sort_by { |m| m.to_s }.should == [:chartbeat, :clicky, :google, :kiss_metrics]
28
+ d.options[:true_option].should be_true
29
+ d.options[:false_option].should be_false
30
+ d.options[:string_option].should == "string"
31
+ end
32
+
33
+ it 'should preserve :javascript_helpers option' do
34
+ options = { :javascript_helpers => false, :modules => [] }
35
+ DummyForInit.analytical options
36
+ a = DummyForInit.new.analytical
37
+ a.options[:javascript_helpers].should be_false
28
38
  end
29
39
 
30
40
  it 'should use the supplied options' do
@@ -1,4 +1,8 @@
1
1
  test:
2
+ javascript_helpers: true
3
+ false_option: false
4
+ true_option: true
5
+ string_option: "string"
2
6
  google:
3
7
  key: google_12345
4
8
  clicky:
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: analytical
3
3
  version: !ruby/object:Gem::Version
4
- hash: 11
4
+ hash: 9
5
5
  prerelease:
6
6
  segments:
7
7
  - 3
8
8
  - 0
9
- - 6
10
- version: 3.0.6
9
+ - 7
10
+ version: 3.0.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Joshua Krall
@@ -22,11 +22,13 @@ autorequire:
22
22
  bindir: bin
23
23
  cert_chain: []
24
24
 
25
- date: 2011-08-08 00:00:00 -05:00
25
+ date: 2011-09-09 00:00:00 -05:00
26
26
  default_executable:
27
27
  dependencies:
28
28
  - !ruby/object:Gem::Dependency
29
- version_requirements: &id001 !ruby/object:Gem::Requirement
29
+ prerelease: false
30
+ type: :development
31
+ requirement: &id001 !ruby/object:Gem::Requirement
30
32
  none: false
31
33
  requirements:
32
34
  - - "="
@@ -37,12 +39,12 @@ dependencies:
37
39
  - 0
38
40
  - 9
39
41
  version: 3.0.9
40
- requirement: *id001
41
- type: :development
42
- prerelease: false
42
+ version_requirements: *id001
43
43
  name: rails
44
44
  - !ruby/object:Gem::Dependency
45
- version_requirements: &id002 !ruby/object:Gem::Requirement
45
+ prerelease: false
46
+ type: :development
47
+ requirement: &id002 !ruby/object:Gem::Requirement
46
48
  none: false
47
49
  requirements:
48
50
  - - ">="
@@ -51,12 +53,12 @@ dependencies:
51
53
  segments:
52
54
  - 0
53
55
  version: "0"
54
- requirement: *id002
55
- type: :development
56
- prerelease: false
56
+ version_requirements: *id002
57
57
  name: activesupport
58
58
  - !ruby/object:Gem::Dependency
59
- version_requirements: &id003 !ruby/object:Gem::Requirement
59
+ prerelease: false
60
+ type: :development
61
+ requirement: &id003 !ruby/object:Gem::Requirement
60
62
  none: false
61
63
  requirements:
62
64
  - - ">="
@@ -65,12 +67,12 @@ dependencies:
65
67
  segments:
66
68
  - 0
67
69
  version: "0"
68
- requirement: *id003
69
- type: :development
70
- prerelease: false
70
+ version_requirements: *id003
71
71
  name: activemodel
72
72
  - !ruby/object:Gem::Dependency
73
- version_requirements: &id004 !ruby/object:Gem::Requirement
73
+ prerelease: false
74
+ type: :development
75
+ requirement: &id004 !ruby/object:Gem::Requirement
74
76
  none: false
75
77
  requirements:
76
78
  - - "="
@@ -81,12 +83,12 @@ dependencies:
81
83
  - 6
82
84
  - 0
83
85
  version: 2.6.0
84
- requirement: *id004
85
- type: :development
86
- prerelease: false
86
+ version_requirements: *id004
87
87
  name: rspec
88
88
  - !ruby/object:Gem::Dependency
89
- version_requirements: &id005 !ruby/object:Gem::Requirement
89
+ prerelease: false
90
+ type: :development
91
+ requirement: &id005 !ruby/object:Gem::Requirement
90
92
  none: false
91
93
  requirements:
92
94
  - - "="
@@ -97,12 +99,12 @@ dependencies:
97
99
  - 6
98
100
  - 4
99
101
  version: 2.6.4
100
- requirement: *id005
101
- type: :development
102
- prerelease: false
102
+ version_requirements: *id005
103
103
  name: rspec-core
104
104
  - !ruby/object:Gem::Dependency
105
- version_requirements: &id006 !ruby/object:Gem::Requirement
105
+ prerelease: false
106
+ type: :development
107
+ requirement: &id006 !ruby/object:Gem::Requirement
106
108
  none: false
107
109
  requirements:
108
110
  - - "="
@@ -113,12 +115,12 @@ dependencies:
113
115
  - 6
114
116
  - 0
115
117
  version: 2.6.0
116
- requirement: *id006
117
- type: :development
118
- prerelease: false
118
+ version_requirements: *id006
119
119
  name: rspec-expectations
120
120
  - !ruby/object:Gem::Dependency
121
- version_requirements: &id007 !ruby/object:Gem::Requirement
121
+ prerelease: false
122
+ type: :development
123
+ requirement: &id007 !ruby/object:Gem::Requirement
122
124
  none: false
123
125
  requirements:
124
126
  - - "="
@@ -129,12 +131,12 @@ dependencies:
129
131
  - 6
130
132
  - 0
131
133
  version: 2.6.0
132
- requirement: *id007
133
- type: :development
134
- prerelease: false
134
+ version_requirements: *id007
135
135
  name: rspec-mocks
136
136
  - !ruby/object:Gem::Dependency
137
- version_requirements: &id008 !ruby/object:Gem::Requirement
137
+ prerelease: false
138
+ type: :development
139
+ requirement: &id008 !ruby/object:Gem::Requirement
138
140
  none: false
139
141
  requirements:
140
142
  - - "="
@@ -145,12 +147,12 @@ dependencies:
145
147
  - 6
146
148
  - 0
147
149
  version: 2.6.0
148
- requirement: *id008
149
- type: :development
150
- prerelease: false
150
+ version_requirements: *id008
151
151
  name: rspec-rails
152
152
  - !ruby/object:Gem::Dependency
153
- version_requirements: &id009 !ruby/object:Gem::Requirement
153
+ prerelease: false
154
+ type: :development
155
+ requirement: &id009 !ruby/object:Gem::Requirement
154
156
  none: false
155
157
  requirements:
156
158
  - - ">="
@@ -159,12 +161,12 @@ dependencies:
159
161
  segments:
160
162
  - 0
161
163
  version: "0"
162
- requirement: *id009
163
- type: :development
164
- prerelease: false
164
+ version_requirements: *id009
165
165
  name: jeweler
166
166
  - !ruby/object:Gem::Dependency
167
- version_requirements: &id010 !ruby/object:Gem::Requirement
167
+ prerelease: false
168
+ type: :development
169
+ requirement: &id010 !ruby/object:Gem::Requirement
168
170
  none: false
169
171
  requirements:
170
172
  - - ">="
@@ -173,12 +175,12 @@ dependencies:
173
175
  segments:
174
176
  - 0
175
177
  version: "0"
176
- requirement: *id010
177
- type: :development
178
- prerelease: false
178
+ version_requirements: *id010
179
179
  name: diff-lcs
180
180
  - !ruby/object:Gem::Dependency
181
- version_requirements: &id011 !ruby/object:Gem::Requirement
181
+ prerelease: false
182
+ type: :development
183
+ requirement: &id011 !ruby/object:Gem::Requirement
182
184
  none: false
183
185
  requirements:
184
186
  - - ">="
@@ -187,12 +189,12 @@ dependencies:
187
189
  segments:
188
190
  - 0
189
191
  version: "0"
190
- requirement: *id011
191
- type: :development
192
- prerelease: false
192
+ version_requirements: *id011
193
193
  name: guard
194
194
  - !ruby/object:Gem::Dependency
195
- version_requirements: &id012 !ruby/object:Gem::Requirement
195
+ prerelease: false
196
+ type: :development
197
+ requirement: &id012 !ruby/object:Gem::Requirement
196
198
  none: false
197
199
  requirements:
198
200
  - - ">="
@@ -201,12 +203,12 @@ dependencies:
201
203
  segments:
202
204
  - 0
203
205
  version: "0"
204
- requirement: *id012
205
- type: :development
206
- prerelease: false
206
+ version_requirements: *id012
207
207
  name: guard-rspec
208
208
  - !ruby/object:Gem::Dependency
209
- version_requirements: &id013 !ruby/object:Gem::Requirement
209
+ prerelease: false
210
+ type: :development
211
+ requirement: &id013 !ruby/object:Gem::Requirement
210
212
  none: false
211
213
  requirements:
212
214
  - - ">="
@@ -215,12 +217,12 @@ dependencies:
215
217
  segments:
216
218
  - 0
217
219
  version: "0"
218
- requirement: *id013
219
- type: :development
220
- prerelease: false
220
+ version_requirements: *id013
221
221
  name: rb-fsevent
222
222
  - !ruby/object:Gem::Dependency
223
- version_requirements: &id014 !ruby/object:Gem::Requirement
223
+ prerelease: false
224
+ type: :development
225
+ requirement: &id014 !ruby/object:Gem::Requirement
224
226
  none: false
225
227
  requirements:
226
228
  - - ">="
@@ -229,9 +231,7 @@ dependencies:
229
231
  segments:
230
232
  - 0
231
233
  version: "0"
232
- requirement: *id014
233
- type: :development
234
- prerelease: false
234
+ version_requirements: *id014
235
235
  name: growl
236
236
  description: Gem for managing multiple analytics services in your rails app.
237
237
  email: josh@feefighters.com