ahoy_matey 0.3.2 → 1.0.0

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.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +324 -189
  4. data/ahoy_matey.gemspec +1 -0
  5. data/app/controllers/ahoy/base_controller.rb +5 -0
  6. data/app/controllers/ahoy/events_controller.rb +9 -7
  7. data/app/controllers/ahoy/visits_controller.rb +2 -1
  8. data/lib/ahoy.rb +37 -28
  9. data/lib/ahoy/controller.rb +12 -20
  10. data/lib/ahoy/deckhands/location_deckhand.rb +39 -0
  11. data/lib/ahoy/deckhands/request_deckhand.rb +41 -0
  12. data/lib/ahoy/deckhands/technology_deckhand.rb +49 -0
  13. data/lib/ahoy/deckhands/traffic_source_deckhand.rb +24 -0
  14. data/lib/ahoy/deckhands/utm_parameter_deckhand.rb +24 -0
  15. data/lib/ahoy/engine.rb +3 -1
  16. data/lib/ahoy/model.rb +19 -82
  17. data/lib/ahoy/stores/active_record_store.rb +63 -0
  18. data/lib/ahoy/stores/active_record_token_store.rb +113 -0
  19. data/lib/ahoy/stores/base_store.rb +65 -0
  20. data/lib/ahoy/stores/log_store.rb +47 -0
  21. data/lib/ahoy/stores/mongoid_store.rb +59 -0
  22. data/lib/ahoy/tracker.rb +108 -67
  23. data/lib/ahoy/version.rb +1 -1
  24. data/lib/ahoy/visit_properties.rb +58 -0
  25. data/lib/ahoy/warden.rb +1 -10
  26. data/lib/generators/ahoy/stores/active_record_events_generator.rb +44 -0
  27. data/lib/generators/ahoy/stores/active_record_generator.rb +17 -0
  28. data/lib/generators/ahoy/{events/active_record_generator.rb → stores/active_record_visits_generator.rb} +14 -6
  29. data/lib/generators/ahoy/stores/custom_generator.rb +16 -0
  30. data/lib/generators/ahoy/stores/log_generator.rb +16 -0
  31. data/lib/generators/ahoy/stores/mongoid_events_generator.rb +20 -0
  32. data/lib/generators/ahoy/stores/mongoid_generator.rb +16 -0
  33. data/lib/generators/ahoy/stores/mongoid_visits_generator.rb +20 -0
  34. data/{app/models/ahoy/event.rb → lib/generators/ahoy/stores/templates/active_record_event_model.rb} +2 -2
  35. data/lib/generators/ahoy/stores/templates/active_record_events_migration.rb +20 -0
  36. data/lib/generators/ahoy/stores/templates/active_record_initializer.rb +3 -0
  37. data/lib/generators/ahoy/stores/templates/active_record_visit_model.rb +4 -0
  38. data/lib/generators/ahoy/{templates/install.rb → stores/templates/active_record_visits_migration.rb} +6 -8
  39. data/lib/generators/ahoy/stores/templates/custom_initializer.rb +12 -0
  40. data/lib/generators/ahoy/stores/templates/log_initializer.rb +3 -0
  41. data/lib/generators/ahoy/stores/templates/mongoid_event_model.rb +12 -0
  42. data/lib/generators/ahoy/stores/templates/mongoid_initializer.rb +3 -0
  43. data/lib/generators/ahoy/stores/templates/mongoid_visit_model.rb +41 -0
  44. data/vendor/assets/javascripts/ahoy.js +19 -8
  45. metadata +45 -8
  46. data/lib/generators/ahoy/events/templates/create_events.rb +0 -20
  47. data/lib/generators/ahoy/events/templates/initializer.rb +0 -1
  48. data/lib/generators/ahoy/install_generator.rb +0 -38
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ahoy_matey
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 1.0.0
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-06-16 00:00:00.000000000 Z
11
+ date: 2014-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: uuidtools
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: bundler
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -139,22 +153,45 @@ files:
139
153
  - app/controllers/ahoy/base_controller.rb
140
154
  - app/controllers/ahoy/events_controller.rb
141
155
  - app/controllers/ahoy/visits_controller.rb
142
- - app/models/ahoy/event.rb
143
156
  - config/routes.rb
144
157
  - lib/ahoy.rb
145
158
  - lib/ahoy/controller.rb
159
+ - lib/ahoy/deckhands/location_deckhand.rb
160
+ - lib/ahoy/deckhands/request_deckhand.rb
161
+ - lib/ahoy/deckhands/technology_deckhand.rb
162
+ - lib/ahoy/deckhands/traffic_source_deckhand.rb
163
+ - lib/ahoy/deckhands/utm_parameter_deckhand.rb
146
164
  - lib/ahoy/engine.rb
147
165
  - lib/ahoy/model.rb
166
+ - lib/ahoy/stores/active_record_store.rb
167
+ - lib/ahoy/stores/active_record_token_store.rb
168
+ - lib/ahoy/stores/base_store.rb
169
+ - lib/ahoy/stores/log_store.rb
170
+ - lib/ahoy/stores/mongoid_store.rb
148
171
  - lib/ahoy/subscribers/active_record.rb
149
172
  - lib/ahoy/tracker.rb
150
173
  - lib/ahoy/version.rb
174
+ - lib/ahoy/visit_properties.rb
151
175
  - lib/ahoy/warden.rb
152
176
  - lib/ahoy_matey.rb
153
- - lib/generators/ahoy/events/active_record_generator.rb
154
- - lib/generators/ahoy/events/templates/create_events.rb
155
- - lib/generators/ahoy/events/templates/initializer.rb
156
- - lib/generators/ahoy/install_generator.rb
157
- - lib/generators/ahoy/templates/install.rb
177
+ - lib/generators/ahoy/stores/active_record_events_generator.rb
178
+ - lib/generators/ahoy/stores/active_record_generator.rb
179
+ - lib/generators/ahoy/stores/active_record_visits_generator.rb
180
+ - lib/generators/ahoy/stores/custom_generator.rb
181
+ - lib/generators/ahoy/stores/log_generator.rb
182
+ - lib/generators/ahoy/stores/mongoid_events_generator.rb
183
+ - lib/generators/ahoy/stores/mongoid_generator.rb
184
+ - lib/generators/ahoy/stores/mongoid_visits_generator.rb
185
+ - lib/generators/ahoy/stores/templates/active_record_event_model.rb
186
+ - lib/generators/ahoy/stores/templates/active_record_events_migration.rb
187
+ - lib/generators/ahoy/stores/templates/active_record_initializer.rb
188
+ - lib/generators/ahoy/stores/templates/active_record_visit_model.rb
189
+ - lib/generators/ahoy/stores/templates/active_record_visits_migration.rb
190
+ - lib/generators/ahoy/stores/templates/custom_initializer.rb
191
+ - lib/generators/ahoy/stores/templates/log_initializer.rb
192
+ - lib/generators/ahoy/stores/templates/mongoid_event_model.rb
193
+ - lib/generators/ahoy/stores/templates/mongoid_initializer.rb
194
+ - lib/generators/ahoy/stores/templates/mongoid_visit_model.rb
158
195
  - vendor/assets/javascripts/ahoy.js
159
196
  homepage: https://github.com/ankane/ahoy
160
197
  licenses:
@@ -1,20 +0,0 @@
1
- class <%= migration_class_name %> < ActiveRecord::Migration
2
- def change
3
- create_table :ahoy_events do |t|
4
- # visit
5
- t.references :visit
6
-
7
- # user
8
- t.integer :user_id
9
- t.string :user_type
10
-
11
- t.string :name
12
- t.text :properties
13
- t.timestamp :time
14
- end
15
-
16
- add_index :ahoy_events, [:visit_id]
17
- add_index :ahoy_events, [:user_id, :user_type]
18
- add_index :ahoy_events, [:time]
19
- end
20
- end
@@ -1 +0,0 @@
1
- Ahoy.subscribers << Ahoy::Subscribers::ActiveRecord.new
@@ -1,38 +0,0 @@
1
- # taken from https://github.com/collectiveidea/audited/blob/master/lib/generators/audited/install_generator.rb
2
- require "rails/generators"
3
- require "rails/generators/migration"
4
- require "active_record"
5
- require "rails/generators/active_record"
6
-
7
- module Ahoy
8
- module Generators
9
- class InstallGenerator < Rails::Generators::Base
10
- include Rails::Generators::Migration
11
-
12
- source_root File.expand_path("../templates", __FILE__)
13
-
14
- # Implement the required interface for Rails::Generators::Migration.
15
- def self.next_migration_number(dirname) #:nodoc:
16
- next_migration_number = current_migration_number(dirname) + 1
17
- if ActiveRecord::Base.timestamped_migrations
18
- [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" % next_migration_number].max
19
- else
20
- "%.3d" % next_migration_number
21
- end
22
- end
23
-
24
- def copy_migration
25
- migration_template "install.rb", "db/migrate/install_ahoy.rb"
26
- end
27
-
28
- def generate_model
29
- invoke "active_record:model", ["Visit"], migration: false
30
- end
31
-
32
- def inject_ahoy_content
33
- inject_into_class "app/models/visit.rb", "Visit", " ahoy_visit\n"
34
- end
35
-
36
- end
37
- end
38
- end