Class: TrackRelay::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- TrackRelay::Generators::InstallGenerator
- Defined in:
- lib/generators/track_relay/install/install_generator.rb
Instance Method Summary collapse
- #create_application_subscriber ⇒ Object
- #create_initializer ⇒ Object
- #create_sample_catalog ⇒ Object
- #inject_controller_tracking ⇒ Object
- #post_install_message ⇒ Object
Instance Method Details
#create_application_subscriber ⇒ Object
20 21 22 |
# File 'lib/generators/track_relay/install/install_generator.rb', line 20 def create_application_subscriber template "application_subscriber.rb.tt", "app/track_relay/subscribers/application_subscriber.rb" end |
#create_initializer ⇒ Object
12 13 14 |
# File 'lib/generators/track_relay/install/install_generator.rb', line 12 def create_initializer template "initializer.rb.tt", "config/initializers/track_relay.rb" end |
#create_sample_catalog ⇒ Object
16 17 18 |
# File 'lib/generators/track_relay/install/install_generator.rb', line 16 def create_sample_catalog template "sample_catalog.rb.tt", "config/track_relay/sample.rb" end |
#inject_controller_tracking ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/generators/track_relay/install/install_generator.rb', line 24 def inject_controller_tracking controller_path = "app/controllers/application_controller.rb" unless File.exist?(File.join(destination_root, controller_path)) say_status :skip, "#{controller_path} not found; add `include TrackRelay::ControllerTracking` manually", :yellow return end existing = File.read(File.join(destination_root, controller_path)) if existing.include?("TrackRelay::ControllerTracking") say_status :identical, "#{controller_path} already includes TrackRelay::ControllerTracking", :blue return end inject_into_class controller_path, "ApplicationController", " include TrackRelay::ControllerTracking\n" end |
#post_install_message ⇒ Object
40 41 42 43 44 45 46 |
# File 'lib/generators/track_relay/install/install_generator.rb', line 40 def say "" say "TrackRelay installed.", :green say " Edit config/initializers/track_relay.rb to wire subscribers." say " Edit config/track_relay/sample.rb (or rails g track_relay:event NAME) to define events." say " Run `bundle exec rake test` — it should pass cleanly out of the box." end |