snogmetrics 0.1.6 → 0.1.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/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