diff --git a/lib/ahoy/database_store.rb b/lib/ahoy/database_store.rb index e93a999..01ea54d 100644 --- a/lib/ahoy/database_store.rb +++ b/lib/ahoy/database_store.rb @@ -19,6 +19,7 @@ def track_event(data) event.time = visit.started_at if event.time < visit.started_at begin event.save! + event rescue => e raise e unless unique_exception?(e) end diff --git a/lib/ahoy/tracker.rb b/lib/ahoy/tracker.rb index a39b096..14f8ff6 100644 --- a/lib/ahoy/tracker.rb +++ b/lib/ahoy/tracker.rb @@ -31,7 +31,6 @@ def track(name, properties = {}, options = {}) @store.track_event(data) end - true rescue => e report_exception(e) end diff --git a/test/tracker_test.rb b/test/tracker_test.rb index 9621095..b4ef119 100644 --- a/test/tracker_test.rb +++ b/test/tracker_test.rb @@ -36,6 +36,12 @@ def test_user_option assert_equal user.id, event.user_id end + def test_track_return_value + ahoy = Ahoy::Tracker.new + event = ahoy.track("Some event", some_prop: true) + assert_instance_of Ahoy::Event, event + end + def test_user_option_in_store user = Struct.new(:id, :user_prop).new(123, 42) ahoy = Ahoy::Tracker.new(user: user)