Class: EverydayCliUtils::OptionType

Inherits:
Object
  • Object
show all
Defined in:
lib/everyday-cli-utils/option.rb

Instance Method Summary collapse

Constructor Details

#initialize(default_value_block, value_determine_block, name_mod_block = nil, value_transform_block = nil) ⇒ OptionType

Returns a new instance of OptionType.



29
30
31
32
33
34
# File 'lib/everyday-cli-utils/option.rb', line 29

def initialize(default_value_block, value_determine_block, name_mod_block = nil, value_transform_block = nil)
  @default_value_block   = default_value_block
  @value_determine_block = value_determine_block
  @name_mod_block        = name_mod_block
  @value_transform_block = value_transform_block
end

Instance Method Details

#default_value(settings = {}) ⇒ Object



36
37
38
# File 'lib/everyday-cli-utils/option.rb', line 36

def default_value(settings = {})
  @default_value_block.call(settings)
end

#mod_names(names, settings = {}) ⇒ Object



45
46
47
# File 'lib/everyday-cli-utils/option.rb', line 45

def mod_names(names, settings = {})
  @name_mod_block.call(names, settings)
end

#updated_value(current_value, new_value, settings = {}) ⇒ Object



40
41
42
43
# File 'lib/everyday-cli-utils/option.rb', line 40

def updated_value(current_value, new_value, settings = {})
  new_value = @value_transform_block.call(new_value, settings) unless @value_transform_block.nil?
  @value_determine_block.call(current_value, new_value, settings)
end