Class: ActionTrace::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- ActionTrace::Generators::InstallGenerator
- Includes:
- Rails::Generators::Migration
- Defined in:
- lib/generators/action_trace/install/install_generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #create_add_version_id_migration ⇒ Object
- #create_initializer ⇒ Object
- #create_javascript_tracking_file ⇒ Object
- #import_ahoy_in_javascript ⇒ Object
- #pin_ahoy_for_importmap ⇒ Object
- #run_ahoy_install ⇒ Object
- #run_paper_trail_install ⇒ Object
- #run_public_activity_migration ⇒ Object
- #show_post_install_message ⇒ Object
Class Method Details
.next_migration_number(dirname) ⇒ Object
16 17 18 19 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 16 def self.next_migration_number(dirname) next_migration_number = current_migration_number(dirname) + 1 ActiveRecord::Migration.next_migration_number(next_migration_number) end |
.source_paths ⇒ Object
12 13 14 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 12 def self.source_paths [File.('templates', __dir__), File.(__dir__)] end |
Instance Method Details
#create_add_version_id_migration ⇒ Object
47 48 49 50 51 52 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 47 def create_add_version_id_migration migration_template( 'migrations/add_version_id_to_activities.rb.tt', 'db/migrate/add_version_id_to_activities.rb' ) end |
#create_initializer ⇒ Object
54 55 56 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 54 def create_initializer template 'initializers/action_trace.rb.tt', 'config/initializers/action_trace.rb' end |
#create_javascript_tracking_file ⇒ Object
72 73 74 75 76 77 78 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 72 def create_javascript_tracking_file return if [:skip_ahoy] return unless File.exist?('app/javascript') template 'action_trace.js.tt', 'app/javascript/action_trace.js' append_to_file 'app/javascript/application.js', %(import "./action_trace"\n) if File.exist?('app/javascript/application.js') end |
#import_ahoy_in_javascript ⇒ Object
65 66 67 68 69 70 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 65 def import_ahoy_in_javascript return if [:skip_ahoy] return unless File.exist?('app/javascript/application.js') append_to_file 'app/javascript/application.js', %(import "ahoy"\n) end |
#pin_ahoy_for_importmap ⇒ Object
58 59 60 61 62 63 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 58 def pin_ahoy_for_importmap return if [:skip_ahoy] return unless File.exist?('config/importmap.rb') append_to_file 'config/importmap.rb', %(pin "ahoy", to: "ahoy.js"\n) end |
#run_ahoy_install ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 31 def run_ahoy_install unless [:skip_ahoy] generate 'ahoy:install' patch_ahoy_initializer end inject_ahoy_filter_by_company end |
#run_paper_trail_install ⇒ Object
39 40 41 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 39 def run_paper_trail_install generate 'paper_trail:install' unless [:skip_paper_trail] end |
#run_public_activity_migration ⇒ Object
43 44 45 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 43 def run_public_activity_migration generate 'public_activity:migration' unless [:skip_public_activity] end |
#show_post_install_message ⇒ Object
102 103 104 |
# File 'lib/generators/action_trace/install/install_generator.rb', line 102 def readme 'POST_INSTALL' if behavior == :invoke end |