class Cucumber::InstallGenerator
Constants
- DEFAULT_SHEBANG
Public Instance Methods
Source
# 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
Source
# 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
Source
# 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
Source
# File lib/generators/cucumber/install_generator.rb, line 21 def create_scripts copy_file 'bin/cucumber', 'bin/cucumber' chmod 'bin/cucumber', 0755 end
Source
# 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
Source
# 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
Source
# File lib/generators/cucumber/install_generator.rb, line 17 def create_templates template 'config/cucumber.yml.erb', 'config/cucumber.yml' end
Protected Instance Methods
Source
# File lib/generators/cucumber/install_generator.rb, line 60 def embed_file(source, indent = '') File.read(File.join(self.class.source_root, source)).gsub(/^/, indent) end
Source
# File lib/generators/cucumber/install_generator.rb, line 64 def embed_template(source, indent = '') template = File.join(self.class.source_root, source) ERB.new(File.read(template), trim_mode: '-').result(binding).gsub(/^/, indent) end