class TomlRB::InlineTable

Attributes

symbolize_keys[R]

Public Class Methods

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

Public Instance Methods

accept_visitor(keyvalue) click to toggle source
# File lib/toml-rb/inline_table.rb, line 30
def accept_visitor(keyvalue)
  keyvalue.visit_inline_table self
end
value(symbolize_keys = false) click to toggle source
# File lib/toml-rb/inline_table.rb, line 10
def value(symbolize_keys = false)
  if (@symbolize_keys = symbolize_keys)
    tuple = ->(kv) { [kv.key.to_sym, visit_value(kv.value)] }
  else
    tuple = ->(kv) { [kv.key, visit_value(kv.value)] }
  end

  Hash[@pairs.map(&tuple)]
end
visit_inline_table(inline_table) click to toggle source
# File lib/toml-rb/inline_table.rb, line 20
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

key(a_key) click to toggle source
# File lib/toml-rb/inline_table.rb, line 42
def key(a_key)
  symbolize_keys ? a_key.to_sym : a_key
end
visit_value(a_value) click to toggle source
# File lib/toml-rb/inline_table.rb, line 36
def visit_value(a_value)
  return a_value unless a_value.respond_to? :accept_visitor

  a_value.accept_visitor self
end