ahoy_events 0.0.1 → 0.0.2
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.
- checksums.yaml +4 -4
- data/README.md +31 -1
- data/ahoy_events.gemspec +1 -1
- data/config/routes.rb +5 -1
- data/lib/ahoy/subscribers/active_record.rb +5 -1
- data/lib/ahoy/tracker.rb +4 -6
- data/lib/ahoy_events.rb +1 -5
- data/lib/ahoy_events/engine.rb +4 -0
- data/lib/ahoy_events/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 624b3a10b7a0ec8f941e0218bf2ccf5c15b406fb
|
4
|
+
data.tar.gz: d95a3036411a9175742275ed066eac7026e936e9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 10d94a157012825266783ba7a3e12da348dc0049edb6773014f2e1a6fdd8ca0b42e0185323e842bae78e7a7177530f07920af0ac952d9ac8083a41136b9b63c5
|
7
|
+
data.tar.gz: 50f2ebb1422c12902ea6d69b41d9068f483889771ae52a1a0fc3369b02dcb28e102953dbaf2b6e53f19905717c620e9b5e7788ec4901e28900b3bd0ba06ad06a
|
data/README.md
CHANGED
@@ -2,6 +2,14 @@
|
|
2
2
|
|
3
3
|
:seedling: Simple, powerful event tracking for Rails
|
4
4
|
|
5
|
+
Track events in:
|
6
|
+
|
7
|
+
- JavaScript
|
8
|
+
- Ruby
|
9
|
+
- Native apps
|
10
|
+
|
11
|
+
And store them wherever you’d like - your database, logs, external services, or all of them.
|
12
|
+
|
5
13
|
## Installation
|
6
14
|
|
7
15
|
First, [add Ahoy](https://github.com/ankane/ahoy#installation).
|
@@ -58,6 +66,7 @@ Create an `Ahoy::Event` model to store events.
|
|
58
66
|
|
59
67
|
```sh
|
60
68
|
rails generate ahoy_events:active_record
|
69
|
+
rake db:migrate
|
61
70
|
```
|
62
71
|
|
63
72
|
### Custom
|
@@ -87,10 +96,31 @@ Ahoy.subscribers << LogSubscriber.new
|
|
87
96
|
|
88
97
|
Add as many subscribers as you’d like.
|
89
98
|
|
99
|
+
## Reference
|
100
|
+
|
101
|
+
Track all Rails actions
|
102
|
+
|
103
|
+
```ruby
|
104
|
+
class ApplicationController < ActionController::Base
|
105
|
+
after_filter :track_action
|
106
|
+
|
107
|
+
protected
|
108
|
+
|
109
|
+
def track_action
|
110
|
+
ahoy.track "Hit action", request.filtered_parameters
|
111
|
+
end
|
112
|
+
end
|
113
|
+
```
|
114
|
+
|
115
|
+
Use a different model [master]
|
116
|
+
|
117
|
+
```ruby
|
118
|
+
Ahoy.subscribers << Ahoy::Subscribers::ActiveRecord.new(model: Event)
|
119
|
+
```
|
120
|
+
|
90
121
|
## TODO
|
91
122
|
|
92
123
|
- Ability to track JavaScript events automatically (button clicks, etc)
|
93
|
-
- Ability to track Rails events automatically (actions, etc)
|
94
124
|
|
95
125
|
## Contributing
|
96
126
|
|
data/ahoy_events.gemspec
CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
-
spec.add_dependency "ahoy_matey", ">= 0.1.
|
21
|
+
spec.add_dependency "ahoy_matey", ">= 0.1.5"
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.6"
|
24
24
|
spec.add_development_dependency "rake"
|
data/config/routes.rb
CHANGED
@@ -2,8 +2,12 @@ module Ahoy
|
|
2
2
|
module Subscribers
|
3
3
|
class ActiveRecord
|
4
4
|
|
5
|
+
def initialize(options = {})
|
6
|
+
@model = options[:model] || Ahoy::Event
|
7
|
+
end
|
8
|
+
|
5
9
|
def track(name, properties, options = {})
|
6
|
-
|
10
|
+
@model.create! do |e|
|
7
11
|
e.visit = options[:visit]
|
8
12
|
e.user = options[:user]
|
9
13
|
e.name = name
|
data/lib/ahoy/tracker.rb
CHANGED
@@ -9,12 +9,10 @@ module Ahoy
|
|
9
9
|
# publish to each subscriber
|
10
10
|
if @controller
|
11
11
|
options[:controller] ||= @controller
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
if @controller.respond_to?(:current_visit)
|
17
|
-
options[:visit] ||= @controller.current_visit
|
12
|
+
options[:user] ||= Ahoy.fetch_user(@controller)
|
13
|
+
if @controller.respond_to?(:current_visit)
|
14
|
+
options[:visit] ||= @controller.current_visit
|
15
|
+
end
|
18
16
|
end
|
19
17
|
options[:time] ||= Time.zone.now
|
20
18
|
|
data/lib/ahoy_events.rb
CHANGED
@@ -1,13 +1,9 @@
|
|
1
1
|
require "ahoy_events/version"
|
2
2
|
require "ahoy_matey"
|
3
|
+
require "ahoy_events/engine"
|
3
4
|
require "ahoy/tracker"
|
4
5
|
require "ahoy/subscribers/active_record"
|
5
6
|
|
6
|
-
module AhoyEvents
|
7
|
-
class Engine < ::Rails::Engine
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
7
|
module Ahoy
|
12
8
|
mattr_accessor :subscribers
|
13
9
|
self.subscribers = []
|
data/lib/ahoy_events/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ahoy_events
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kane
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ahoy_matey
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.1.
|
19
|
+
version: 0.1.5
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 0.1.
|
26
|
+
version: 0.1.5
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -71,6 +71,7 @@ files:
|
|
71
71
|
- lib/ahoy/subscribers/active_record.rb
|
72
72
|
- lib/ahoy/tracker.rb
|
73
73
|
- lib/ahoy_events.rb
|
74
|
+
- lib/ahoy_events/engine.rb
|
74
75
|
- lib/ahoy_events/version.rb
|
75
76
|
- lib/generators/ahoy_events/active_record_generator.rb
|
76
77
|
- lib/generators/ahoy_events/templates/create_events.rb
|