Sha256: 1226fd1020807abca75daae268742cc6815a6b287e969d6dfc6e97c525f72825
Contents?: true
Size: 1010 Bytes
Versions: 4
Compression:
Stored size: 1010 Bytes
Contents
module TOML class Keyvalue attr_reader :value, :symbolize_keys def initialize(key, value) @key = key @value = value @symbolize_keys = false end def assign(hash, symbolize_keys = false) @symbolize_keys = symbolize_keys fail ValueOverwriteError.new(key) if hash.key?(key) hash[key] = visit_value @value end 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 def key(a_key = @key) symbolize_keys ? a_key.to_sym : a_key end def accept_visitor(parser) parser.visit_keyvalue self end private def visit_value(a_value) return a_value unless a_value.respond_to? :accept_visitor a_value.accept_visitor self end end # Used in document.citrus module KeyvalueParser def value TOML::Keyvalue.new(capture(:key).value, capture(:v).value) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
toml-rb-0.3.10 | lib/toml/keyvalue.rb |
toml-rb-0.3.9 | lib/toml/keyvalue.rb |
toml-rb-0.3.8 | lib/toml/keyvalue.rb |
toml-rb-0.3.7 | lib/toml/keyvalue.rb |