class Cucumber::InstallGenerator

Constants

DEFAULT_SHEBANG

Public Instance Methods

create_database() click to toggle source
# File lib/generators/cucumber/install/install_generator.rb, line 39
def create_database
  return unless File.exist?('config/database.yml')
  unless File.read('config/database.yml').include? 'cucumber:'
    gsub_file 'config/database.yml', %r^test:.*\n/, "test: &test\n"
    gsub_file 'config/database.yml', %r\z/, "\ncucumber:\n  <<: *test"
    
    # Since gsub_file doesn't ask the user, just inform user that the file was overwritten.
    puts "       force  config/database.yml"
  end
end
create_feature_support() click to toggle source
# File lib/generators/cucumber/install/install_generator.rb, line 25
def create_feature_support
  empty_directory 'features/support'
  if spork?
    template 'support/rails_spork.rb.erb', 'features/support/env.rb'
  else
    template 'support/rails.rb.erb',       'features/support/env.rb'
  end
end
create_scripts() click to toggle source
# File lib/generators/cucumber/install/install_generator.rb, line 16
def create_scripts
  copy_file 'script/cucumber', 'script/cucumber'
  chmod     'script/cucumber', 0755
end
create_step_definitions() click to toggle source
# File lib/generators/cucumber/install/install_generator.rb, line 21
def create_step_definitions
  empty_directory 'features/step_definitions'
end
create_tasks() click to toggle source
# File lib/generators/cucumber/install/install_generator.rb, line 34
def create_tasks
  empty_directory 'lib/tasks'
  template 'tasks/cucumber.rake.erb', 'lib/tasks/cucumber.rake'
end
create_templates() click to toggle source
# File lib/generators/cucumber/install/install_generator.rb, line 12
def create_templates
  template 'config/cucumber.yml.erb', 'config/cucumber.yml'
end

Protected Instance Methods

embed_file(source, indent='') click to toggle source
# File lib/generators/cucumber/install/install_generator.rb, line 56
def embed_file(source, indent='')
  IO.read(File.join(self.class.source_root, source)).gsub(%r^/, indent)
end
embed_template(source, indent='') click to toggle source
# File lib/generators/cucumber/install/install_generator.rb, line 60
def embed_template(source, indent='')
  template = File.join(self.class.source_root, source)
  ERB.new(IO.read(template), nil, '-').result(binding).gsub(%r^/, indent)
end
spork?() click to toggle source
# File lib/generators/cucumber/install/install_generator.rb, line 52
def spork?
  options[:spork]
end