Class: HammerCLI::Subcommand::LazyDefinition

Inherits:
Clamp::Subcommand::Definition
  • Object
show all
Defined in:
lib/hammer_cli/subcommand.rb

Instance Method Summary collapse

Constructor Details

#initialize(names, description, subcommand_class_name, path) ⇒ LazyDefinition

Returns a new instance of LazyDefinition.



8
9
10
11
12
13
14
# File 'lib/hammer_cli/subcommand.rb', line 8

def initialize(names, description, subcommand_class_name, path)
  @names = Array(names)
  @description = description
  @subcommand_class_name = subcommand_class_name
  @path = path
  @loaded = false
end

Instance Method Details

#loaded?Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/hammer_cli/subcommand.rb', line 16

def loaded?
  @loaded
end

#subcommand_classObject



20
21
22
23
24
25
26
27
# File 'lib/hammer_cli/subcommand.rb', line 20

def subcommand_class
  if !@loaded
    require @path
    @loaded = true
    @constantized_class = @subcommand_class_name.constantize
  end
  @constantized_class
end