Sha256: 5c347e9145f3a1de0f87d8930fd1371e84d7ef707e32a9224e39470fb76bf9cd

Contents?: true

Size: 1.63 KB

Versions: 13

Compression:

Stored size: 1.63 KB

Contents

require_relative 'automation/automation_generator'
require_relative 'automation/automation_examples_generator'
require_relative 'common_generator'
require_relative 'cucumber/cucumber_generator'
require_relative 'cucumber/cucumber_examples_generator'
require_relative 'helper_generator'
require_relative 'rspec/rspec_generator'
require_relative 'rspec/rspec_examples_generator'

# :reek:FeatureEnvy { enabled: false }
# :reek:UtilityFunction { enabled: false }
module InvokeGenerators
  def generate_framework(structure = {})
    generators = %w[Automation Common Helpers]
    framework = structure[:framework]
    add_generator(generators, framework.capitalize)
    generators = add_examples(generators) if structure[:examples]
    generators.each do |generator|
      invoke_generator({
                         automation: structure[:automation],
                         framework: framework,
                         generator: generator,
                         name: structure[:name],
                         visual: structure[:visual]
                       })
    end
  end

  def add_generator(generators, *gens)
    gens.each { |generator| generators.push generator }
  end

  def add_examples(generators)
    if generators.include?('Cucumber')
      generators.push('CucumberExamples')
    else
      generators.push('RspecExamples')
    end

    generators.push('AutomationExamples')
  end

  def invoke_generator(structure = {})
    Object.const_get("#{structure[:generator]}Generator")
          .new([structure[:automation],
                structure[:framework],
                structure[:name],
                structure[:visual]]).invoke_all
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
ruby_raider-0.7.3 lib/generators/invoke_generators.rb
ruby_raider-0.7.2 lib/generators/invoke_generators.rb
ruby_raider-0.7.1 lib/generators/invoke_generators.rb
ruby_raider-0.7.0 lib/generators/invoke_generators.rb
ruby_raider-0.6.9 lib/generators/invoke_generators.rb
ruby_raider-0.6.8 lib/generators/invoke_generators.rb
ruby_raider-0.6.7 lib/generators/invoke_generators.rb
ruby_raider-0.6.6 lib/generators/invoke_generators.rb
ruby_raider-0.6.5 lib/generators/invoke_generators.rb
ruby_raider-0.6.4 lib/generators/invoke_generators.rb
ruby_raider-0.6.3 lib/generators/invoke_generators.rb
ruby_raider-0.6.2 lib/generators/invoke_generators.rb
ruby_raider-0.6.1 lib/generators/invoke_generators.rb