snogmetrics 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
data/lib/snogmetrics.rb CHANGED
@@ -16,7 +16,7 @@ require 'snogmetrics/railtie' if defined? Rails::Railtie
16
16
  # the default implementation outputs the real API only when
17
17
  # `Rails.env.production?` is true.
18
18
  module Snogmetrics
19
- VERSION = '0.1.6'
19
+ VERSION = '0.1.7'
20
20
 
21
21
  # Returns an instance of KissmetricsApi, which is an interface to the
22
22
  # KISSmetrics API. It has the methods #record and #identify, which work just
@@ -105,22 +105,18 @@ private
105
105
  # subsequent calls to #js will not send events that have already been sent.
106
106
  def js(options={})
107
107
  options = {:reset => false}.merge(options)
108
-
109
- if queue.empty?
110
- ''
111
- else
112
- buffer = queue.map { |item| %(_kmq.push(#{item.to_json});) }
113
-
114
- queue.clear if options[:reset]
115
-
116
- <<-JAVASCRIPT
117
- <script type="text/javascript">
118
- var _kmq = _kmq || [];
119
- #{api_js}
120
- #{buffer.join("\n")}
121
- </script>
122
- JAVASCRIPT
123
- end
108
+
109
+ buffer = queue.map { |item| %(_kmq.push(#{item.to_json});) }
110
+
111
+ queue.clear if options[:reset]
112
+
113
+ <<-JAVASCRIPT
114
+ <script type="text/javascript">
115
+ var _kmq = _kmq || [];
116
+ #{api_js}
117
+ #{buffer.join("\n")}
118
+ </script>
119
+ JAVASCRIPT
124
120
  end
125
121
 
126
122
  private
@@ -151,4 +147,4 @@ private
151
147
  end
152
148
  end
153
149
  end
154
- end
150
+ end
@@ -111,10 +111,6 @@ describe Snogmetrics do
111
111
  end
112
112
 
113
113
  describe '#js' do
114
- it 'outputs nothing if there are no events and no identity' do
115
- @context.km.js.should be_empty
116
- end
117
-
118
114
  context 'in production' do
119
115
  before do
120
116
  Rails.stub!(:env).and_return(mock('env', :production? => true))
@@ -135,6 +131,10 @@ describe Snogmetrics do
135
131
  @context.km.js.should_not include('scripts.kissmetrics.com')
136
132
  end
137
133
  end
134
+
135
+ it 'outputs javascript even if there are no events and no identity' do
136
+ @context.km.js.should include('kmq')
137
+ end
138
138
 
139
139
  it 'outputs code that conditionally sets the _kmq variable' do
140
140
  @context.km.identify('Phil')
@@ -151,7 +151,7 @@ describe Snogmetrics do
151
151
  it 'resets the session when passed :reset => true' do
152
152
  @context.km.record('hello world')
153
153
  @context.km.js(:reset => true)
154
- @context.km.js.should be_empty
154
+ @context.km.js.should_not include('hello world')
155
155
  end
156
156
 
157
157
  it 'does not let HTML slip through' do
@@ -164,7 +164,7 @@ describe Snogmetrics do
164
164
  it 'works like #js(:reset => true)' do
165
165
  @context.km.record('hello world')
166
166
  @context.km.js!
167
- @context.km.js.should be_empty
167
+ @context.km.js!.should_not include('_kmq.push(["record"')
168
168
  end
169
169
 
170
170
  it 'does not push an identify call if the identity has already been sent once' do
metadata CHANGED
@@ -1,12 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: snogmetrics
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: false
5
- segments:
6
- - 0
7
- - 1
8
- - 6
9
- version: 0.1.6
4
+ prerelease:
5
+ version: 0.1.7
10
6
  platform: ruby
11
7
  authors:
12
8
  - Theo Hultberg
@@ -14,7 +10,7 @@ autorequire:
14
10
  bindir: bin
15
11
  cert_chain: []
16
12
 
17
- date: 2010-10-24 00:00:00 +02:00
13
+ date: 2011-06-27 00:00:00 +02:00
18
14
  default_executable:
19
15
  dependencies:
20
16
  - !ruby/object:Gem::Dependency
@@ -25,10 +21,6 @@ dependencies:
25
21
  requirements:
26
22
  - - ~>
27
23
  - !ruby/object:Gem::Version
28
- segments:
29
- - 1
30
- - 0
31
- - 0
32
24
  version: 1.0.0
33
25
  type: :development
34
26
  version_requirements: *id001
@@ -40,10 +32,6 @@ dependencies:
40
32
  requirements:
41
33
  - - ~>
42
34
  - !ruby/object:Gem::Version
43
- segments:
44
- - 0
45
- - 8
46
- - 7
47
35
  version: 0.8.7
48
36
  type: :development
49
37
  version_requirements: *id002
@@ -55,8 +43,6 @@ dependencies:
55
43
  requirements:
56
44
  - - ">="
57
45
  - !ruby/object:Gem::Version
58
- segments:
59
- - 0
60
46
  version: "0"
61
47
  type: :development
62
48
  version_requirements: *id003
@@ -68,8 +54,6 @@ dependencies:
68
54
  requirements:
69
55
  - - ">="
70
56
  - !ruby/object:Gem::Version
71
- segments:
72
- - 0
73
57
  version: "0"
74
58
  type: :development
75
59
  version_requirements: *id004
@@ -81,8 +65,6 @@ dependencies:
81
65
  requirements:
82
66
  - - ">="
83
67
  - !ruby/object:Gem::Version
84
- segments:
85
- - 0
86
68
  version: "0"
87
69
  type: :development
88
70
  version_requirements: *id005
@@ -94,8 +76,6 @@ dependencies:
94
76
  requirements:
95
77
  - - ">="
96
78
  - !ruby/object:Gem::Version
97
- segments:
98
- - 0
99
79
  version: "0"
100
80
  type: :development
101
81
  version_requirements: *id006
@@ -107,8 +87,6 @@ dependencies:
107
87
  requirements:
108
88
  - - ">="
109
89
  - !ruby/object:Gem::Version
110
- segments:
111
- - 0
112
90
  version: "0"
113
91
  type: :development
114
92
  version_requirements: *id007
@@ -177,23 +155,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
177
155
  requirements:
178
156
  - - ">="
179
157
  - !ruby/object:Gem::Version
180
- segments:
181
- - 0
182
158
  version: "0"
183
159
  required_rubygems_version: !ruby/object:Gem::Requirement
184
160
  none: false
185
161
  requirements:
186
162
  - - ">="
187
163
  - !ruby/object:Gem::Version
188
- segments:
189
- - 1
190
- - 3
191
- - 6
192
164
  version: 1.3.6
193
165
  requirements: []
194
166
 
195
167
  rubyforge_project: snogmetrics
196
- rubygems_version: 1.3.7
168
+ rubygems_version: 1.5.2
197
169
  signing_key:
198
170
  specification_version: 3
199
171
  summary: SNOGmetrics is a KISSmetrics helper for Rails