Class: TomlRB::Keyvalue

Inherits:
Object
  • Object
show all
Defined in:
lib/toml-rb/keyvalue.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key, value) ⇒ Keyvalue

Returns a new instance of Keyvalue.



5
6
7
8
9
# File 'lib/toml-rb/keyvalue.rb', line 5

def initialize(key, value)
  @key = key
  @value = value
  @symbolize_keys = false
end

Instance Attribute Details

#symbolize_keysObject (readonly)

Returns the value of attribute symbolize_keys.



3
4
5
# File 'lib/toml-rb/keyvalue.rb', line 3

def symbolize_keys
  @symbolize_keys
end

#valueObject (readonly)

Returns the value of attribute value.



3
4
5
# File 'lib/toml-rb/keyvalue.rb', line 3

def value
  @value
end

Instance Method Details

#accept_visitor(parser) ⇒ Object



31
32
33
# File 'lib/toml-rb/keyvalue.rb', line 31

def accept_visitor(parser)
  parser.visit_keyvalue self
end

#assign(hash, symbolize_keys = false) ⇒ Object



11
12
13
14
15
# 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) ⇒ Object



27
28
29
# 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) ⇒ Object



17
18
19
20
21
22
23
24
25
# 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