Sha256: 7d0e8f4166b1aa1929a40fb545d6b3743f766e5aac1eb084cf975d6497c3cb3b

Contents?: true

Size: 1.22 KB

Versions: 2

Compression:

Stored size: 1.22 KB

Contents

require 'thor'

module Cukestart
  module Generator
    class Structure < Thor::Group
      include Thor::Actions
      argument :project_name, :desc => "Name of the root directory"
      argument :front, :desc => "If it will be a front test project", :default => FALSE
      argument :page_object, :desc => "Will use page_object", :default => FALSE

      def self.source_root
        File.dirname(__FILE__)
      end

      def create_folders
        empty_directory(project_name)
        empty_directory("#{project_name}/features")
        empty_directory("#{project_name}/features/support")
        empty_directory("#{project_name}/features/step_definitions")
        empty_directory("#{project_name}/features/pages") if page_object
      end

      def copy_cucumber_yml
        copy_file('files/cucumber.yml', "#{project_name}/cucumber.yml")
      end

      def create_gemfile
        template('templates/gemfile.tt', "#{project_name}/Gemfile")
      end

      def create_env
        template('templates/env.tt', "#{project_name}/features/support/env.rb")
      end

      def create_capybara
        template('templates/capybara.tt',
                "#{project_name}/features/support/capybara.rb") if front
      end

    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
cukestart-0.3.0 lib/cukestart/generator/structure.rb
cukestart-0.2.0 lib/cukestart/generator/structure.rb