Sha256: 3816658bca68aa22caeb43812b51174f669d743e8fd57d65e0681b75aa337125

Contents?: true

Size: 1.25 KB

Versions: 19

Compression:

Stored size: 1.25 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
  module_function

  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:,
                         generator:,
                         name: structure[:name]
                       })
    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]]).invoke_all
  end

  def to_bool(string)
    return unless string.is_a? String

    string.downcase == 'true'
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
ruby_raider-1.1.2 lib/generators/invoke_generators.rb
ruby_raider-1.1.1 lib/generators/invoke_generators.rb
ruby_raider-1.1.0 lib/generators/invoke_generators.rb
ruby_raider-1.0.9 lib/generators/invoke_generators.rb
ruby_raider-1.0.8 lib/generators/invoke_generators.rb
ruby_raider-1.0.7 lib/generators/invoke_generators.rb
ruby_raider-1.0.6 lib/generators/invoke_generators.rb
ruby_raider-1.0.5 lib/generators/invoke_generators.rb
ruby_raider-1.0.4 lib/generators/invoke_generators.rb
ruby_raider-1.0.3 lib/generators/invoke_generators.rb
ruby_raider-1.0.2 lib/generators/invoke_generators.rb
ruby_raider-1.0.1 lib/generators/invoke_generators.rb
ruby_raider-1.0.0 lib/generators/invoke_generators.rb
ruby_raider-0.9.9 lib/generators/invoke_generators.rb
ruby_raider-0.9.8 lib/generators/invoke_generators.rb
ruby_raider-0.9.7 lib/generators/invoke_generators.rb
ruby_raider-0.9.6 lib/generators/invoke_generators.rb
ruby_raider-0.9.5 lib/generators/invoke_generators.rb
ruby_raider-0.9.4 lib/generators/invoke_generators.rb