meta_events 1.2.0 → 1.2.1
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/CHANGES.md +13 -0
- data/CONTRIBUTORS.md +11 -0
- data/README.md +16 -0
- data/lib/meta_events/helpers.rb +7 -1
- data/lib/meta_events/railtie.rb +15 -3
- data/lib/meta_events/version.rb +1 -1
- data/vendor/assets/javascripts/meta_events.js.erb +1 -1
- metadata +17 -5
- checksums.yaml +0 -15
data/CHANGES.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# `meta_events` Changelog
|
|
2
2
|
|
|
3
|
+
### 1.2.1, 6 November 2014
|
|
4
|
+
|
|
5
|
+
* Fixed an issue where you could get a `NoMethodError` (`undefined method 'watch' for Spring:Module`) if running with
|
|
6
|
+
Spring, depending on your exact load order and dependency set. (Thanks to [charle5](https://github.com/charle5) for
|
|
7
|
+
the catch, and [charle5](https://github.com/charle5) and [Fabian Stehle](https://github.com/fstehle) for fixes!)
|
|
8
|
+
* Fixed an issue where the JavaScript exception you would get if you tried to invoke a front-end event that hadn't
|
|
9
|
+
been registered would have the wrong event name in it. (Thanks to [Hubert Lee](https://github.com/hube) for the
|
|
10
|
+
catch and the fix!)
|
|
11
|
+
* Fixed an issue where using `link_to` with a block would fail if you're using `meta_events`, due to the way Rails
|
|
12
|
+
renames parameters in this scenario. (Thanks to [David Yarbro](https://github.com/yarbro) for the catch and the
|
|
13
|
+
fix, and [Mark Quezada](https://github.com/markquezada) for submitting it as a pull request!)
|
|
14
|
+
* Added installation instructions. (Thanks to [Anthony](https://github.com/Aerlinger) for the pull request!)
|
|
15
|
+
|
|
3
16
|
### 1.2.0, 30 June 2014
|
|
4
17
|
|
|
5
18
|
* You can now customize the separator used in nested properties by passing (_e.g._) `:property_separator => ' '` to
|
data/CONTRIBUTORS.md
CHANGED
|
@@ -10,6 +10,17 @@ Additional contributions by:
|
|
|
10
10
|
* [Pete Sharum](https://github.com/petesharum): Fix for `Time` objects passed in; turns out `Time#utc` _modifies_ its
|
|
11
11
|
receiver, which is bad.
|
|
12
12
|
* [Jesse Rusak](https://github.com/jder): doc typos and fixes for usage of `Rails.logger`.
|
|
13
|
+
* [charle5](https://github.com/charle5): Fix for `NoMethodError` (`undefined method 'watch' for Spring:Module`)
|
|
14
|
+
when used with Spring in certain circumstances.
|
|
15
|
+
* [Fabian Stehle](https://github.com/fstehle): Fix for `NoMethodError` (`undefined method 'watch' for Spring:Module`)
|
|
16
|
+
when used with Spring in certain circumstances.
|
|
17
|
+
* [Hubert Lee](https://github.com/hube): Fix for issue where the JavaScript exception you would get if you tried to
|
|
18
|
+
invoke a front-end event that hadn't been registered would have the wrong event name in it.
|
|
19
|
+
* [David Yarbro](https://github.com/yarbro): Fix for issue where using `link_to` with a block would fail if you're
|
|
20
|
+
using `meta_events`, due to the way Rails renames parameters in this scenario.
|
|
21
|
+
* [Mark Quezada](https://github.com/markquezada): Submitting a pull request for issue where using `link_to` with a
|
|
22
|
+
block would fail if you're using `meta_events`, due to the way Rails renames parameters in this scenario.
|
|
23
|
+
* [Anthony](https://github.com/Aerlinger): Improved installation instructions.
|
|
13
24
|
|
|
14
25
|
Inspiration for ideas by:
|
|
15
26
|
|
data/README.md
CHANGED
|
@@ -14,6 +14,22 @@ Current build status: . First version written by
|
|
15
15
|
[Andrew Geweke](https://www.github.com/ageweke). For additional contributors, see [CONTRIBUTORS](CONTRIBUTORS.md).
|
|
16
16
|
|
|
17
|
+
### Installation
|
|
18
|
+
|
|
19
|
+
If you're in a project using [Bundler](http://bundler.io/) — for example, any Rails project, most Gems, and
|
|
20
|
+
probably most other Ruby software these days — and therefore have a [`Gemfile`](http://bundler.io/gemfile.html),
|
|
21
|
+
simply add this to the end of your `Gemfile`:
|
|
22
|
+
|
|
23
|
+
```ruby
|
|
24
|
+
gem 'meta_events'
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Alternatively, if you aren't using Bundler:
|
|
28
|
+
|
|
29
|
+
```ruby
|
|
30
|
+
gem install meta_events
|
|
31
|
+
```
|
|
32
|
+
|
|
17
33
|
### Background
|
|
18
34
|
|
|
19
35
|
Sending user-centric events to (_e.g._) Mixpanel is far from difficult; it's a single method call. However, in a
|
data/lib/meta_events/helpers.rb
CHANGED
|
@@ -93,11 +93,17 @@ module MetaEvents
|
|
|
93
93
|
# Obviously, feel free to create a shorter alias for this method in your application; we give it a long, unique
|
|
94
94
|
# name here so that we don't accidentally collide with another helper method in your project.
|
|
95
95
|
def meta_events_tracked_link_to(name = nil, options = nil, html_options = nil, &block)
|
|
96
|
+
html_options, options, name = options, name, nil if block_given?
|
|
97
|
+
|
|
96
98
|
unless html_options && html_options[:meta_event]
|
|
97
99
|
raise ArgumentError, "You asked for a tracked link, but you didn't provide a :meta_event: #{html_options.inspect}"
|
|
98
100
|
end
|
|
99
101
|
|
|
100
|
-
|
|
102
|
+
if block_given?
|
|
103
|
+
link_to(options, meta_events_tracking_attributes_for(html_options, meta_events_tracker), &block)
|
|
104
|
+
else
|
|
105
|
+
link_to(name, options, meta_events_tracking_attributes_for(html_options, meta_events_tracker))
|
|
106
|
+
end
|
|
101
107
|
end
|
|
102
108
|
|
|
103
109
|
|
data/lib/meta_events/railtie.rb
CHANGED
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
# See if we can load Spring -- but don't fail if we can't; this just helps us decide whether to call
|
|
2
|
+
# Spring.watch.
|
|
3
|
+
begin
|
|
4
|
+
gem 'spring'
|
|
5
|
+
rescue Gem::LoadError => le
|
|
6
|
+
# ok
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
begin
|
|
10
|
+
require 'spring/watcher'
|
|
11
|
+
rescue LoadError => le
|
|
12
|
+
# ok
|
|
13
|
+
end
|
|
14
|
+
|
|
1
15
|
module MetaEvents
|
|
2
16
|
class Railtie < Rails::Railtie
|
|
3
17
|
def say(x)
|
|
@@ -20,9 +34,7 @@ module MetaEvents
|
|
|
20
34
|
::MetaEvents::Tracker.default_definitions = config_meta_events
|
|
21
35
|
say "Loaded event definitions from #{config_meta_events.inspect}"
|
|
22
36
|
|
|
23
|
-
if defined?(::Spring)
|
|
24
|
-
Spring.watch config_meta_events
|
|
25
|
-
end
|
|
37
|
+
Spring.watch config_meta_events if defined?(::Spring)
|
|
26
38
|
end
|
|
27
39
|
end
|
|
28
40
|
end
|
data/lib/meta_events/version.rb
CHANGED
|
@@ -116,7 +116,7 @@ MetaEvents = (function() {
|
|
|
116
116
|
|
|
117
117
|
if (eventData == null) {
|
|
118
118
|
<% if Rails.env.development? %>
|
|
119
|
-
throw "No front-end event has been registered named '" +
|
|
119
|
+
throw "No front-end event has been registered named '" + eventAlias + "'. Did you forget to call meta_events_define_frontend_event on the server?";
|
|
120
120
|
<% end %>
|
|
121
121
|
return;
|
|
122
122
|
}
|
metadata
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: meta_events
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.1
|
|
5
|
+
prerelease:
|
|
5
6
|
platform: ruby
|
|
6
7
|
authors:
|
|
7
8
|
- Andrew Geweke
|
|
8
9
|
autorequire:
|
|
9
10
|
bindir: bin
|
|
10
11
|
cert_chain: []
|
|
11
|
-
date: 2014-06
|
|
12
|
+
date: 2014-11-06 00:00:00.000000000 Z
|
|
12
13
|
dependencies:
|
|
13
14
|
- !ruby/object:Gem::Dependency
|
|
14
15
|
name: json
|
|
15
16
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
+
none: false
|
|
16
18
|
requirements:
|
|
17
19
|
- - ~>
|
|
18
20
|
- !ruby/object:Gem::Version
|
|
@@ -20,6 +22,7 @@ dependencies:
|
|
|
20
22
|
type: :runtime
|
|
21
23
|
prerelease: false
|
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
+
none: false
|
|
23
26
|
requirements:
|
|
24
27
|
- - ~>
|
|
25
28
|
- !ruby/object:Gem::Version
|
|
@@ -27,6 +30,7 @@ dependencies:
|
|
|
27
30
|
- !ruby/object:Gem::Dependency
|
|
28
31
|
name: activesupport
|
|
29
32
|
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
none: false
|
|
30
34
|
requirements:
|
|
31
35
|
- - ! '>='
|
|
32
36
|
- !ruby/object:Gem::Version
|
|
@@ -37,6 +41,7 @@ dependencies:
|
|
|
37
41
|
type: :runtime
|
|
38
42
|
prerelease: false
|
|
39
43
|
version_requirements: !ruby/object:Gem::Requirement
|
|
44
|
+
none: false
|
|
40
45
|
requirements:
|
|
41
46
|
- - ! '>='
|
|
42
47
|
- !ruby/object:Gem::Version
|
|
@@ -47,6 +52,7 @@ dependencies:
|
|
|
47
52
|
- !ruby/object:Gem::Dependency
|
|
48
53
|
name: bundler
|
|
49
54
|
requirement: !ruby/object:Gem::Requirement
|
|
55
|
+
none: false
|
|
50
56
|
requirements:
|
|
51
57
|
- - ~>
|
|
52
58
|
- !ruby/object:Gem::Version
|
|
@@ -54,6 +60,7 @@ dependencies:
|
|
|
54
60
|
type: :development
|
|
55
61
|
prerelease: false
|
|
56
62
|
version_requirements: !ruby/object:Gem::Requirement
|
|
63
|
+
none: false
|
|
57
64
|
requirements:
|
|
58
65
|
- - ~>
|
|
59
66
|
- !ruby/object:Gem::Version
|
|
@@ -61,6 +68,7 @@ dependencies:
|
|
|
61
68
|
- !ruby/object:Gem::Dependency
|
|
62
69
|
name: rake
|
|
63
70
|
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
none: false
|
|
64
72
|
requirements:
|
|
65
73
|
- - ! '>='
|
|
66
74
|
- !ruby/object:Gem::Version
|
|
@@ -68,6 +76,7 @@ dependencies:
|
|
|
68
76
|
type: :development
|
|
69
77
|
prerelease: false
|
|
70
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
+
none: false
|
|
71
80
|
requirements:
|
|
72
81
|
- - ! '>='
|
|
73
82
|
- !ruby/object:Gem::Version
|
|
@@ -75,6 +84,7 @@ dependencies:
|
|
|
75
84
|
- !ruby/object:Gem::Dependency
|
|
76
85
|
name: rspec
|
|
77
86
|
requirement: !ruby/object:Gem::Requirement
|
|
87
|
+
none: false
|
|
78
88
|
requirements:
|
|
79
89
|
- - ~>
|
|
80
90
|
- !ruby/object:Gem::Version
|
|
@@ -82,6 +92,7 @@ dependencies:
|
|
|
82
92
|
type: :development
|
|
83
93
|
prerelease: false
|
|
84
94
|
version_requirements: !ruby/object:Gem::Requirement
|
|
95
|
+
none: false
|
|
85
96
|
requirements:
|
|
86
97
|
- - ~>
|
|
87
98
|
- !ruby/object:Gem::Version
|
|
@@ -124,26 +135,27 @@ files:
|
|
|
124
135
|
homepage: http://www.github.com/swiftype/meta_events
|
|
125
136
|
licenses:
|
|
126
137
|
- MIT
|
|
127
|
-
metadata: {}
|
|
128
138
|
post_install_message:
|
|
129
139
|
rdoc_options: []
|
|
130
140
|
require_paths:
|
|
131
141
|
- lib
|
|
132
142
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
143
|
+
none: false
|
|
133
144
|
requirements:
|
|
134
145
|
- - ! '>='
|
|
135
146
|
- !ruby/object:Gem::Version
|
|
136
147
|
version: '0'
|
|
137
148
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
149
|
+
none: false
|
|
138
150
|
requirements:
|
|
139
151
|
- - ! '>='
|
|
140
152
|
- !ruby/object:Gem::Version
|
|
141
153
|
version: '0'
|
|
142
154
|
requirements: []
|
|
143
155
|
rubyforge_project:
|
|
144
|
-
rubygems_version:
|
|
156
|
+
rubygems_version: 1.8.23.2
|
|
145
157
|
signing_key:
|
|
146
|
-
specification_version:
|
|
158
|
+
specification_version: 3
|
|
147
159
|
summary: Structured, documented, powerful event emitting library for Mixpanel and
|
|
148
160
|
other such systems.
|
|
149
161
|
test_files:
|
checksums.yaml
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
!binary "U0hBMQ==":
|
|
3
|
-
metadata.gz: !binary |-
|
|
4
|
-
NzJiMzIzNTY1ZGVhZTQwZjFmYWE1YWM5NTY3YzRhYjMyNDMyZDgwYw==
|
|
5
|
-
data.tar.gz: !binary |-
|
|
6
|
-
Y2FkY2IxOTdhNTFmODVhMTQ1YTk1ODUxNzViNDIxNGNkOGFhMTk5ZQ==
|
|
7
|
-
SHA512:
|
|
8
|
-
metadata.gz: !binary |-
|
|
9
|
-
MDA0ZjdjYWYwZTFiODRjZTdlNzk5YmJlOTc0ZGExZmQwOThlOWE0MWZjZWQ1
|
|
10
|
-
OTIzZjgxN2ZhY2M2OTM5YjVjMzUyY2I2NDE3ZWYwZDVjZTU0NmM1MTAyMWYx
|
|
11
|
-
NjBiNDFmMjhmMTljM2I5OTQ0ODRlNjA0MmIwZTA4MjljYmM5YjQ=
|
|
12
|
-
data.tar.gz: !binary |-
|
|
13
|
-
YTU5Y2NlMmIyZWUxODIzODI4ZWMzZTk2OTM3ZTViMmY1OGM4MTBkYjU5OGEy
|
|
14
|
-
MjkzMmQwZjBkMWM3Y2ZjOTM4MmJiNWZiMGI0YWY3MjE5ZmJkMDk2NzdmNDgy
|
|
15
|
-
MTkwYzBmYThlNGQ4MDZiMTcyYjRhYjBiYzdhNmE0ZmNhZDczYWE=
|