Sha256: f5e3ed8ce0eb2d3f1620701a514443c050fb3a78b07426faaaddb8cb0ba0c9c6

Contents?: true

Size: 949 Bytes

Versions: 8

Compression:

Stored size: 949 Bytes

Contents

module Runbook
  class Generator < Thor
    include Runbook::CLIBase
    include Thor::Actions

    Runbook::Generators::Base.set_base_options(self)

    def self._unique_class_options(generator)
      generator.class_options.values.reject do |class_option|
        class_option.group == "Runtime" ||
          class_option.group == "Base"
      end
    end

    Runbook.generators.each do |generator|
      desc(generator.usage, generator.description, generator.options)

      long_desc(generator.long_description)

      _unique_class_options(generator).each do |co|
        method_option(
          co.name,
          desc: co.description,
          required: co.required,
          default: co.default,
          aliases: co.aliases,
          type: co.type,
          banner: co.banner,
          hide: co.hide,
        )
      end

      define_method(generator.command) do |*args|
        invoke(generator, args)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 2 rubygems

Version Path
careacademy-runbook-1.2.0 lib/runbook/generator.rb
runbook-1.1.0 lib/runbook/generator.rb
runbook-1.0.0 lib/runbook/generator.rb
runbook-0.16.1 lib/runbook/generator.rb
runbook-0.16.0 lib/runbook/generator.rb
runbook-0.15.0 lib/runbook/generator.rb
runbook-0.14.0 lib/runbook/generator.rb
runbook-0.13.0 lib/runbook/generator.rb