class TomlRB::Keyvalue

Attributes

symbolize_keys[R]
value[R]

Public Class Methods

new(key, value) click to toggle source
# File lib/toml-rb/keyvalue.rb, line 5
def initialize(key, value)
  @key = key
  @value = value
  @symbolize_keys = false
end

Public Instance Methods

accept_visitor(parser) click to toggle source
# File lib/toml-rb/keyvalue.rb, line 31
def accept_visitor(parser)
  parser.visit_keyvalue self
end
assign(hash, symbolize_keys = false) click to toggle source
# File lib/toml-rb/keyvalue.rb, line 11
def assign(hash, symbolize_keys = false)
  @symbolize_keys = symbolize_keys
  fail ValueOverwriteError.new(key) if hash.key?(key)
  hash[key] = visit_value @value
end
key(a_key = @key) click to toggle source
# File lib/toml-rb/keyvalue.rb, line 27
def key(a_key = @key)
  symbolize_keys ? a_key.to_sym : a_key
end
visit_inline_table(inline_table) click to toggle source
# File lib/toml-rb/keyvalue.rb, line 17
def visit_inline_table(inline_table)
  result = {}

  inline_table.value(@symbolize_keys).each do |k, v|
    result[key k] = visit_value v
  end

  result
end

Private Instance Methods

visit_value(a_value) click to toggle source
# File lib/toml-rb/keyvalue.rb, line 37
def visit_value(a_value)
  return a_value unless a_value.respond_to? :accept_visitor

  a_value.accept_visitor self
end