Class: EverydayCliUtils::OptionTypes

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

Class Method Summary collapse

Class Method Details

.def_type(type, default_value_block, value_determine_block, name_mod_block = nil, value_transform_block = nil) ⇒ Object



49
50
51
52
# File 'lib/everyday-cli-utils/option.rb', line 49

def self.def_type(type, default_value_block, value_determine_block, name_mod_block = nil, value_transform_block = nil)
  @types       ||= {}
  @types[type] = OptionType.new(default_value_block, value_determine_block, name_mod_block, value_transform_block)
end

.default_value(type, settings = {}) ⇒ Object



54
55
56
57
# File 'lib/everyday-cli-utils/option.rb', line 54

def self.default_value(type, settings = {})
  @types ||= {}
  @types.has_key?(type) ? @types[type].default_value(settings) : nil
end

.mod_names(type, names, settings = {}) ⇒ Object



64
65
66
67
# File 'lib/everyday-cli-utils/option.rb', line 64

def self.mod_names(type, names, settings = {})
  @types ||= {}
  @types.has_key?(type) ? @types[type].mod_names(names, settings) : names
end

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



59
60
61
62
# File 'lib/everyday-cli-utils/option.rb', line 59

def self.updated_value(type, current_value, new_value, settings = {})
  @types ||= {}
  @types.has_key?(type) ? @types[type].updated_value(current_value, new_value, settings) : current_value
end