Sha256: 4b98f0d271044bba317b4b94a2edd979f95ff7a582cdc65df338a43b332a5a5e

Contents?: true

Size: 943 Bytes

Versions: 28

Compression:

Stored size: 943 Bytes

Contents

# This generator bootstraps a Rails project for use with Cucumber
class FeatureGenerator < Rails::Generator::NamedBase
  def manifest
    record do |m|
      m.directory 'features/step_definitions'
      m.template  'feature.erb', "features/manage_#{plural_name}.feature"
      m.template  'steps.erb', "features/step_definitions/#{singular_name}_steps.rb"

      m.gsub_file 'features/support/paths.rb', /root_path/mi do |match|
        "#{match}\n    when /the new #{singular_name} page/\n      new_#{singular_name}_path\n"
      end
    end
  end

  class NamedArg
    attr_reader :name

    def initialize(s)
      @name, @type = *s.split(':')
    end

    def value(n)
      if @type == 'boolean'
        (n % 2) == 0
      else
        "#{@name} #{n}"
      end
    end
  end

  def named_args
    args.map{|arg| NamedArg.new(arg)}
  end

  protected

  def banner
    "Usage: #{$0} feature ModelName [field:type, field:type]"
  end
end

Version data entries

28 entries across 28 versions & 4 rubygems

Version Path
aslakhellesoy-cucumber-0.1.100.1 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.1.100.2 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.1.100.3 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.1.100.4 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.1.100.5 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.0.1 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.0.2 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.0.3 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.0.4 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.0 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.1 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.2.1 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.2.2 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.2 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.3.1 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.3.2 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.3.3 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.3.4 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.2.3 rails_generators/feature/feature_generator.rb
aslakhellesoy-cucumber-0.3.0 rails_generators/feature/feature_generator.rb