mixpal 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5f7b06bf4a86525182d6d44a19848532e62cc51a
4
+ data.tar.gz: eb38535ae4ef5a101b61a8d30c0a4ed041c04b9d
5
+ SHA512:
6
+ metadata.gz: 8d4079b4038dad025ca08dfaefcb1239abeacbedccb1c0c7553e1cdaa8cea64849cd03717d83cf2315ede897b85634a55d6950e6de299dbd61f3354f9d97a08d
7
+ data.tar.gz: 883548ba1bb19454caa6052e2d812efe80f09680b22b1647034865f0c885042b462d1412a37ac152ca1c2786ee89e61ea827a721f6fce11331aab1346907380f
data/README.md CHANGED
@@ -7,6 +7,11 @@ events like user sign ups or form submissions.
7
7
 
8
8
  ## Installation
9
9
 
10
+ First make sure you follow the instructions for installing Mixpanel's JS
11
+ library:
12
+
13
+ https://mixpanel.com/help/reference/javascript
14
+
10
15
  ### With Bundler
11
16
 
12
17
  1. Add to Gemfile: `gem "mixpal"`
@@ -32,9 +32,9 @@ module Mixpal
32
32
  "".tap do |html|
33
33
  html << "<script type=\"text/javascript\">"
34
34
  html << "mixpanel.alias(\"#{identity}\");" if alias_user
35
+ html << "mixpanel.identify(\"#{identity}\");" if identity
35
36
  html << events.map(&:render).join("")
36
37
  html << user_updates.map(&:render).join("")
37
- html << "mixpanel.identify(\"#{identity}\");" if identity
38
38
  html << "</script>"
39
39
  end.html_safe
40
40
  end
@@ -65,4 +65,4 @@ module Mixpal
65
65
  }
66
66
  end
67
67
  end
68
- end
68
+ end
@@ -2,6 +2,8 @@ module Mixpal
2
2
  module Util
3
3
  class << self
4
4
  def hash_to_js_object_string(hash)
5
+ hash.reject! { |k,v| v.nil? }
6
+
5
7
  contents = hash.map do |k,v|
6
8
  js_value = v.is_a?(String) || v.is_a?(Time) ? "\"#{v}\"" : v
7
9
  "\"#{k}\": #{js_value}"
@@ -11,4 +13,4 @@ module Mixpal
11
13
  end
12
14
  end
13
15
  end
14
- end
16
+ end
@@ -1,3 +1,3 @@
1
1
  module Mixpal
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
@@ -18,5 +18,10 @@ describe Mixpal::Util do
18
18
  expect(subject.hash_to_js_object_string({ age: 21 })).
19
19
  to eq "{\"age\": 21}"
20
20
  end
21
+
22
+ it "does not include keys with nil values" do
23
+ expect(subject.hash_to_js_object_string({ age: 21, gender: nil })).
24
+ to eq "{\"age\": 21}"
25
+ end
21
26
  end
22
- end
27
+ end
metadata CHANGED
@@ -1,176 +1,155 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mixpal
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: 0.0.4
4
+ version: 0.0.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - patbenatar
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-09-19 00:00:00.000000000 Z
11
+ date: 2013-12-27 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
- prerelease: false
16
14
  name: bundler
17
- type: :development
18
- version_requirements: !ruby/object:Gem::Requirement
15
+ requirement: !ruby/object:Gem::Requirement
19
16
  requirements:
20
17
  - - ~>
21
18
  - !ruby/object:Gem::Version
22
19
  version: '1.3'
23
- none: false
24
- requirement: !ruby/object:Gem::Requirement
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
25
23
  requirements:
26
24
  - - ~>
27
25
  - !ruby/object:Gem::Version
28
26
  version: '1.3'
29
- none: false
30
27
  - !ruby/object:Gem::Dependency
31
- prerelease: false
32
28
  name: rake
33
- type: :development
34
- version_requirements: !ruby/object:Gem::Requirement
29
+ requirement: !ruby/object:Gem::Requirement
35
30
  requirements:
36
- - - ! '>='
31
+ - - '>='
37
32
  - !ruby/object:Gem::Version
38
33
  version: '0'
39
- none: false
40
- requirement: !ruby/object:Gem::Requirement
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
41
37
  requirements:
42
- - - ! '>='
38
+ - - '>='
43
39
  - !ruby/object:Gem::Version
44
40
  version: '0'
45
- none: false
46
41
  - !ruby/object:Gem::Dependency
47
- prerelease: false
48
42
  name: pry
49
- type: :development
50
- version_requirements: !ruby/object:Gem::Requirement
43
+ requirement: !ruby/object:Gem::Requirement
51
44
  requirements:
52
- - - ! '>='
45
+ - - '>='
53
46
  - !ruby/object:Gem::Version
54
47
  version: '0'
55
- none: false
56
- requirement: !ruby/object:Gem::Requirement
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
57
51
  requirements:
58
- - - ! '>='
52
+ - - '>='
59
53
  - !ruby/object:Gem::Version
60
54
  version: '0'
61
- none: false
62
55
  - !ruby/object:Gem::Dependency
63
- prerelease: false
64
56
  name: rspec
65
- type: :development
66
- version_requirements: !ruby/object:Gem::Requirement
57
+ requirement: !ruby/object:Gem::Requirement
67
58
  requirements:
68
59
  - - ~>
69
60
  - !ruby/object:Gem::Version
70
61
  version: 2.14.0
71
- none: false
72
- requirement: !ruby/object:Gem::Requirement
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
73
65
  requirements:
74
66
  - - ~>
75
67
  - !ruby/object:Gem::Version
76
68
  version: 2.14.0
77
- none: false
78
69
  - !ruby/object:Gem::Dependency
79
- prerelease: false
80
70
  name: guard-rspec
81
- type: :development
82
- version_requirements: !ruby/object:Gem::Requirement
71
+ requirement: !ruby/object:Gem::Requirement
83
72
  requirements:
84
73
  - - ~>
85
74
  - !ruby/object:Gem::Version
86
75
  version: 3.0.3
87
- none: false
88
- requirement: !ruby/object:Gem::Requirement
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
89
79
  requirements:
90
80
  - - ~>
91
81
  - !ruby/object:Gem::Version
92
82
  version: 3.0.3
93
- none: false
94
83
  - !ruby/object:Gem::Dependency
95
- prerelease: false
96
84
  name: rb-fsevent
97
- type: :development
98
- version_requirements: !ruby/object:Gem::Requirement
85
+ requirement: !ruby/object:Gem::Requirement
99
86
  requirements:
100
87
  - - ~>
101
88
  - !ruby/object:Gem::Version
102
89
  version: 0.9.3
103
- none: false
104
- requirement: !ruby/object:Gem::Requirement
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
105
93
  requirements:
106
94
  - - ~>
107
95
  - !ruby/object:Gem::Version
108
96
  version: 0.9.3
109
- none: false
110
97
  - !ruby/object:Gem::Dependency
111
- prerelease: false
112
98
  name: awesome_print
113
- type: :development
114
- version_requirements: !ruby/object:Gem::Requirement
99
+ requirement: !ruby/object:Gem::Requirement
115
100
  requirements:
116
101
  - - ~>
117
102
  - !ruby/object:Gem::Version
118
103
  version: 1.1.0
119
- none: false
120
- requirement: !ruby/object:Gem::Requirement
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - ~>
123
109
  - !ruby/object:Gem::Version
124
110
  version: 1.1.0
125
- none: false
126
111
  - !ruby/object:Gem::Dependency
127
- prerelease: false
128
112
  name: nokogiri
129
- type: :development
130
- version_requirements: !ruby/object:Gem::Requirement
113
+ requirement: !ruby/object:Gem::Requirement
131
114
  requirements:
132
115
  - - ~>
133
116
  - !ruby/object:Gem::Version
134
117
  version: 1.6.0
135
- none: false
136
- requirement: !ruby/object:Gem::Requirement
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
137
121
  requirements:
138
122
  - - ~>
139
123
  - !ruby/object:Gem::Version
140
124
  version: 1.6.0
141
- none: false
142
125
  - !ruby/object:Gem::Dependency
143
- prerelease: false
144
126
  name: actionpack
145
- type: :development
146
- version_requirements: !ruby/object:Gem::Requirement
127
+ requirement: !ruby/object:Gem::Requirement
147
128
  requirements:
148
- - - ! '>='
129
+ - - '>='
149
130
  - !ruby/object:Gem::Version
150
131
  version: '3.0'
151
- none: false
152
- requirement: !ruby/object:Gem::Requirement
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
153
135
  requirements:
154
- - - ! '>='
136
+ - - '>='
155
137
  - !ruby/object:Gem::Version
156
138
  version: '3.0'
157
- none: false
158
139
  - !ruby/object:Gem::Dependency
159
- prerelease: false
160
140
  name: activesupport
161
- type: :runtime
162
- version_requirements: !ruby/object:Gem::Requirement
141
+ requirement: !ruby/object:Gem::Requirement
163
142
  requirements:
164
- - - ! '>='
143
+ - - '>='
165
144
  - !ruby/object:Gem::Version
166
145
  version: '3.0'
167
- none: false
168
- requirement: !ruby/object:Gem::Requirement
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
169
149
  requirements:
170
- - - ! '>='
150
+ - - '>='
171
151
  - !ruby/object:Gem::Version
172
152
  version: '3.0'
173
- none: false
174
153
  description: Use Mixpanel's JavaScript library from your backend with ease
175
154
  email:
176
155
  - nick@gophilosophie.com
@@ -205,33 +184,26 @@ files:
205
184
  homepage: https://github.com/patbenatar/mixpal
206
185
  licenses:
207
186
  - MIT
187
+ metadata: {}
208
188
  post_install_message:
209
189
  rdoc_options: []
210
190
  require_paths:
211
191
  - lib
212
192
  required_ruby_version: !ruby/object:Gem::Requirement
213
193
  requirements:
214
- - - ! '>='
194
+ - - '>='
215
195
  - !ruby/object:Gem::Version
216
- segments:
217
- - 0
218
- hash: 4327721075013694130
219
196
  version: '0'
220
- none: false
221
197
  required_rubygems_version: !ruby/object:Gem::Requirement
222
198
  requirements:
223
- - - ! '>='
199
+ - - '>='
224
200
  - !ruby/object:Gem::Version
225
- segments:
226
- - 0
227
- hash: 4327721075013694130
228
201
  version: '0'
229
- none: false
230
202
  requirements: []
231
203
  rubyforge_project:
232
- rubygems_version: 1.8.23
204
+ rubygems_version: 2.0.3
233
205
  signing_key:
234
- specification_version: 3
206
+ specification_version: 4
235
207
  summary: As the JavaScript library is Mixpanel's preferred method of usage, Mixpal
236
208
  aims to make it easier to work with from your Rails backend. Most notably it persists
237
209
  tracking data across redirects, perfect for handling events like user sign ups or