Class: Cucumber::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Cucumber::InstallGenerator
- Defined in:
- lib/generators/cucumber/install_generator.rb
Constant Summary collapse
- DEFAULT_SHEBANG =
File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'])
Instance Method Summary collapse
- #configure_environment ⇒ Object
- #create_database ⇒ Object
- #create_feature_support ⇒ Object
- #create_scripts ⇒ Object
- #create_step_definitions ⇒ Object
- #create_tasks ⇒ Object
- #create_templates ⇒ Object
Instance Method Details
#configure_environment ⇒ Object
36 37 38 39 40 41 42 43 |
# File 'lib/generators/cucumber/install_generator.rb', line 36 def configure_environment environment(<<~CONFIG, env: %w[development test]) if ::Rails::VERSION::MAJOR >= 6 # Configure 'rails notes' to inspect Cucumber files config.annotations.register_directories('features') config.annotations.register_extensions('feature') { |tag| /#\\s*(\#{tag}):?\\s*(.*)$/ } CONFIG end |
#create_database ⇒ Object
50 51 52 53 54 55 56 |
# File 'lib/generators/cucumber/install_generator.rb', line 50 def create_database return unless File.exist?('config/database.yml') return unless File.read('config/database.yml').include? 'cucumber:' gsub_file 'config/database.yml', /^test:.*\n/, "test: &test\n" gsub_file 'config/database.yml', /\z/, "\ncucumber:\n <<: *test\n" end |
#create_feature_support ⇒ Object
31 32 33 34 |
# File 'lib/generators/cucumber/install_generator.rb', line 31 def create_feature_support empty_directory 'features/support' template 'support/env.rb.erb', 'features/support/env.rb' end |
#create_scripts ⇒ Object
21 22 23 24 |
# File 'lib/generators/cucumber/install_generator.rb', line 21 def create_scripts copy_file 'bin/cucumber', 'bin/cucumber' chmod 'bin/cucumber', 0755 end |
#create_step_definitions ⇒ Object
26 27 28 29 |
# File 'lib/generators/cucumber/install_generator.rb', line 26 def create_step_definitions empty_directory 'features/step_definitions' create_file 'features/step_definitions/.keep' end |
#create_tasks ⇒ Object
45 46 47 48 |
# File 'lib/generators/cucumber/install_generator.rb', line 45 def create_tasks empty_directory 'lib/tasks' template 'tasks/cucumber.rake.erb', 'lib/tasks/cucumber.rake' end |
#create_templates ⇒ Object
17 18 19 |
# File 'lib/generators/cucumber/install_generator.rb', line 17 def create_templates template 'config/cucumber.yml.erb', 'config/cucumber.yml' end |