Module: EacCli::Docopt::RunnerExtension

Extended by:
ActiveSupport::Concern
Defined in:
lib/eac_cli/docopt/runner_extension.rb

Defined Under Namespace

Modules: InstanceMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.check(klass) ⇒ Object



18
19
20
21
22
23
24
25
# File 'lib/eac_cli/docopt/runner_extension.rb', line 18

def check(klass)
  return unless klass < ::EacRubyUtils::Console::DocoptRunner

  ::EacCli::Runner.alias_runner_class_methods(klass, '', 'eac_cli')
  ::EacCli::Runner.alias_runner_class_methods(klass, 'original', '')

  klass.include(self)
end

Instance Method Details

#extra_available_subcommandsObject



42
43
44
45
46
47
48
# File 'lib/eac_cli/docopt/runner_extension.rb', line 42

def extra_available_subcommands
  self.class.constants
      .map { |name| self.class.const_get(name) }
      .select { |c| c.instance_of? Class }
      .select { |c| c.included_modules.include?(::EacCli::Runner) }
      .map { |c| c.name.demodulize.underscore.dasherize }
end