class Bogo::Cli::Parser::OptionValues
Constants
- NONFORWARDABLE
Public Class Methods
new()
click to toggle source
# File lib/bogo-cli/parser.rb, line 23 def initialize @defaults = Smash.new @sets = Smash.new end
Public Instance Methods
[]=(key, value)
click to toggle source
# File lib/bogo-cli/parser.rb, line 28 def []=(key, value) assign(key, value) end
assign(key, value)
click to toggle source
# File lib/bogo-cli/parser.rb, line 32 def assign(key, value) key = key.to_s.gsub("-", "_").to_sym @sets[key] = value self end
composite()
click to toggle source
# File lib/bogo-cli/parser.rb, line 72 def composite Smash.new.tap do |c| keys.each do |k| c[k] = @sets.fetch(k, @defaults[k]) end end end
default?(key)
click to toggle source
# File lib/bogo-cli/parser.rb, line 48 def default?(key) unless keys.include?(key) raise KeyError, "Unknown option key '#{key}'" end !@sets.keys.include?(key) end
inspect()
click to toggle source
# File lib/bogo-cli/parser.rb, line 60 def inspect "<OptionValues: #{@sets.inspect} | #{@defaults.inspect}>" end
is_a?(const)
click to toggle source
Calls superclass method
# File lib/bogo-cli/parser.rb, line 64 def is_a?(const) super || composite.is_a?(const) end
keys()
click to toggle source
# File lib/bogo-cli/parser.rb, line 44 def keys @sets.keys | @defaults.keys end
respond_to?(method)
click to toggle source
Calls superclass method
# File lib/bogo-cli/parser.rb, line 68 def respond_to?(method) super || composite.respond_to?(method) end
set_default(key, value)
click to toggle source
# File lib/bogo-cli/parser.rb, line 38 def set_default(key, value) key = key.to_s.gsub("-", "_").to_sym @defaults[key] = value self end
to_s()
click to toggle source
# File lib/bogo-cli/parser.rb, line 56 def to_s "<OptionValues: #{composite.inspect}>" end