class DatashiftJourney::InstallCollectorGenerator
Public Instance Methods
copy_collector_migration()
click to toggle source
# File lib/generators/datashift_journey/collector/install_collector_generator.rb, line 14 def copy_collector_migration migration_template "migration.rb", "db/migrate/add_foo_to_bar.rb" migration_template 'collector_migration.rb', 'db/migrate/datashift_journey_create_collector.rb', migration_version: migration_version end
install_common()
click to toggle source
Hmm bit odd but to get thor to work appears we need to wrap calls to our common methods
# File lib/generators/datashift_journey/collector/install_collector_generator.rb, line 23 def install_common create_initializer_file(klass) notify_about_routes insert_into_file File.join('config', 'routes.rb'), before: "end\n" do %( # This line mounts Datashift Journey's Collector routes # scope :api, constraints: { format: 'json' } do scope :v1 do resources :page_states, only: [:create], controller: 'datashift_journey/page_states' end end ) end journey_plan_host_file(klass) model_journey_code(klass) end
Private Instance Methods
klass()
click to toggle source
# File lib/generators/datashift_journey/collector/install_collector_generator.rb, line 51 def klass 'DatashiftJourney::Collector::Collector' end
migration_version()
click to toggle source
# File lib/generators/datashift_journey/collector/install_collector_generator.rb, line 55 def migration_version "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]" if rails5? end
rails5?()
click to toggle source
# File lib/generators/datashift_journey/collector/install_collector_generator.rb, line 47 def rails5? Rails.version.start_with? '5' end