- Fixed an issue where you could get a
NoMethodError
(undefined method 'watch' for Spring:Module
) if running with Spring, depending on your exact load order and dependency set. (Thanks to charle5 for the catch, and charle5 and Fabian Stehle for fixes!) - Fixed an issue where the JavaScript exception you would get if you tried to invoke a front-end event that hadn't been registered would have the wrong event name in it. (Thanks to Hubert Lee for the catch and the fix!)
- Fixed an issue where using
link_to
with a block would fail if you're usingmeta_events
, due to the way Rails renames parameters in this scenario. (Thanks to David Yarbro for the catch and the fix, and Mark Quezada for submitting it as a pull request!) - Added installation instructions. (Thanks to Anthony for the pull request!)
- You can now customize the separator used in nested properties by passing (e.g.)
:property_separator => ' '
to the declaration of aversion
in the definition DSL. This allows you to get nested properties named things likeuser age
,user name
, and so on, rather thanuser_age
anduser_name
. (Thanks to Harm de Wit for the idea.) - If you passed in a
Time
object to an#event!
call,meta_events
was calling#utc
on it to normalize it to UTC...andTime#utc
(unbeknownst to me) modifies its receiver, which is really bad. Now we callTime#getutc
instead, which doesn't do that. (Big shout-out to Pete Sharum for catching and fixing this, along with a spec for the fix!) - Added syntax highlighting to the README.
- Bumped versions of Ruby we test against under Travis to the latest ones.
- The
:external_name
on an Event was not correctly passed (instead of the fully-qualified event name) when using link auto-tracking. This fixes the issue, and adds a spec to make sure it works properly.
- 1.1.0 was accidentally released with a bad dependency that prevented it from installing against anything that used ActiveSupport >= 4.0. This corrects that error.
- Documented how to make MetaEvents work with background systems like Resque or Sidekiq to make event dispatch asynchronous.
- Documented that the
mixpanel-ruby
gem is still required to work with Mixpanel server-side, and that the Mixpanel JavaScript code is still required to work with Mixpanel on the front end. - Changed Travis configuration to use Ruby 2.1.1 (vs. 2.1.0) and JRuby 1.7.11 (vs. 1.7.9).
- Support for customizing the event names to Mixpanel using any algorithm you want (
:external_name
inMetaEvents::Tracker#initialize
orMetaEvents::Tracker.default_external_name
), or by overriding them on anEvent
-by-Event
basis (:external_name
in the DSL on anEvent
). Many thanks to Aaron Lerch for the awesome code and responsiveness!
- Fixed an issue where the
TestReceiver
'sRails.logger
reference could happen beforeRails.logger
was actually loaded, causing an exception. (Thanks to Jesse Rusak!) - Fixed a minor documentation bug (Thanks to Jesse Rusak!)
- Added Changelog.