Sha256: e4f79285a3d3c54135124f82b66c0797be8000f89e3bffdf45ed93cb30211226

Contents?: true

Size: 1.54 KB

Versions: 55

Compression:

Stored size: 1.54 KB

Contents

# frozen_string_literal: true

require 'avm/ruby/gems/generator'
require 'eac_ruby_utils/console/docopt_runner'
require 'eac_ruby_utils/core_ext'
require 'eac_cli/default_runner'

module Avm
  module Tools
    class Runner < ::EacRubyUtils::Console::DocoptRunner
      class Ruby < ::EacRubyUtils::Console::DocoptRunner
        class Gems < ::EacRubyUtils::Console::DocoptRunner
          class Generate < ::EacRubyUtils::Console::DocoptRunner
            enable_console_speaker
            enable_simple_cache

            DOC = <<~DOCUMENT
              Create a gem.

              Usage:
                __PROGRAM__ [options] <path>
                __PROGRAM__ -h --help

              Options:
                -h --help                                   Show this help.
                --eac-ruby-utils-version=<version>          Version for "eac_ruby_utils" gem.
                --eac-ruby-gem-support-version=<version>    Version for "eac_ruby_gem_support" gem.
            DOCUMENT

            def run
              success "Gem \"#{generator.name}\" created in \"#{generator.root_directory}\""
            end

            private

            def generator_uncached
              ::Avm::Ruby::Gems::Generator.new(options.fetch('<path>'), generator_options)
            end

            def generator_options
              %w[eac_ruby_utils eac_ruby_gem_support].map do |gem_name|
                ["#{gem_name}_version".to_sym, options.fetch("--#{gem_name.dasherize}-version")]
              end.to_h
            end
          end
        end
      end
    end
  end
end

Version data entries

55 entries across 55 versions & 1 rubygems

Version Path
avm-tools-0.86.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.85.1 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.85.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.84.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.83.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.82.1 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.82.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.81.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.80.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.79.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.78.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.77.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.76.1 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.76.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.75.1 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.75.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.74.1 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.74.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.73.0 lib/avm/tools/runner/ruby/gems/generate.rb
avm-tools-0.72.0 lib/avm/tools/runner/ruby/gems/generate.rb