class HammerCLI::Subcommand::LazyDefinition

Public Class Methods

new(names, description, subcommand_class_name, path, options = {}) click to toggle source
Calls superclass method HammerCLI::Subcommand::Definition.new
# File lib/hammer_cli/subcommand.rb, line 36
def initialize(names, description, subcommand_class_name, path, options = {})
  super(names, description, subcommand_class_name, options)
  @loaded = false
  @path = path
end

Public Instance Methods

loaded?() click to toggle source
# File lib/hammer_cli/subcommand.rb, line 42
def loaded?
  @loaded
end
subcommand_class() click to toggle source
# File lib/hammer_cli/subcommand.rb, line 46
def subcommand_class
  unless @loaded
    require @path
    @loaded = true
    @constantized_class = @subcommand_class.constantize
  end
  @warning ||= @constantized_class.warning
  warn(@warning) if @warning
  @constantized_class
end