Class: Hocon::Impl::SimpleConfigDocument
- Inherits:
-
Object
- Object
- Hocon::Impl::SimpleConfigDocument
- Includes:
- Parser::ConfigDocument
- Defined in:
- lib/hocon/impl/simple_config_document.rb
Instance Method Summary collapse
- #==(other) ⇒ Object
- #has_value?(path) ⇒ Boolean
- #hash ⇒ Object
-
#initialize(parsed_node, parse_options) ⇒ SimpleConfigDocument
constructor
A new instance of SimpleConfigDocument.
- #remove_value(path) ⇒ Object
- #render ⇒ Object
- #set_config_value(path, new_value) ⇒ Object
- #set_value(path, new_value) ⇒ Object
Constructor Details
#initialize(parsed_node, parse_options) ⇒ SimpleConfigDocument
Returns a new instance of SimpleConfigDocument.
11 12 13 14 |
# File 'lib/hocon/impl/simple_config_document.rb', line 11 def initialize(parsed_node, ) @config_node_tree = parsed_node @parse_options = end |
Instance Method Details
#==(other) ⇒ Object
44 45 46 |
# File 'lib/hocon/impl/simple_config_document.rb', line 44 def ==(other) other.class.ancestors.include?(Hocon::Parser::ConfigDocument) && render == other.render end |
#has_value?(path) ⇒ Boolean
36 37 38 |
# File 'lib/hocon/impl/simple_config_document.rb', line 36 def has_value?(path) @config_node_tree.has_value(path) end |
#hash ⇒ Object
48 49 50 |
# File 'lib/hocon/impl/simple_config_document.rb', line 48 def hash render.hash end |
#remove_value(path) ⇒ Object
32 33 34 |
# File 'lib/hocon/impl/simple_config_document.rb', line 32 def remove_value(path) self.class.new(@config_node_tree.set_value(path, nil, @parse_options.syntax), @parse_options) end |
#render ⇒ Object
40 41 42 |
# File 'lib/hocon/impl/simple_config_document.rb', line 40 def render @config_node_tree.render end |
#set_config_value(path, new_value) ⇒ Object
26 27 28 29 30 |
# File 'lib/hocon/impl/simple_config_document.rb', line 26 def set_config_value(path, new_value) = Hocon::ConfigRenderOptions.defaults .origin_comments = false set_value(path, new_value.render().strip) end |
#set_value(path, new_value) ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/hocon/impl/simple_config_document.rb', line 16 def set_value(path, new_value) origin = Hocon::Impl::SimpleConfigOrigin.new_simple("single value parsing") reader = StringIO.new(new_value) tokens = Hocon::Impl::Tokenizer.tokenize(origin, reader, @parse_options.syntax) parsed_value = Hocon::Impl::ConfigDocumentParser.parse_value(tokens, origin, @parse_options) reader.close self.class.new(@config_node_tree.set_value(path, parsed_value, @parse_options.syntax), @parse_options) end |