Sha256: 1e2c7f9b915040d743e4938d8cd2bfdb5ddd1b5447939f7f859bb70126115ad1

Contents?: true

Size: 1.35 KB

Versions: 2

Compression:

Stored size: 1.35 KB

Contents

require_relative 'actions/actions_generator'
require_relative 'automation/automation_generator'
require_relative 'common_generator'
require_relative 'cucumber/cucumber_generator'
require_relative 'helper_generator'
require_relative 'rspec/rspec_generator'

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

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

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby_raider-0.8.9 lib/generators/invoke_generators.rb
ruby_raider-0.8.8 lib/generators/invoke_generators.rb