Server IP : 66.29.132.122 / Your IP : 3.137.212.124 Web Server : LiteSpeed System : Linux business142.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : admazpex ( 531) PHP Version : 7.2.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/self/root/proc/self/root/proc/thread-self/root/proc/thread-self/root/opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/hocon-1.3.1/lib/hocon/parser/ |
Upload File : |
# encoding: utf-8 require 'hocon/parser' require 'hocon/config_error' # # Represents an individual HOCON or JSON file, preserving all # formatting and syntax details. This can be used to replace # individual values and exactly render the original text of the # input. # # <p> # Because this object is immutable, it is safe to use from multiple threads and # there's no need for "defensive copies." # # <p> # <em>Do not implement interface {@code ConfigDocument}</em>; it should only be # implemented by the config library. Arbitrary implementations will not work # because the library internals assume a specific concrete implementation.# # Also, this interface is likely to grow new methods over time, so third-party # implementations will break. # module Hocon::Parser::ConfigDocument # # Returns a new ConfigDocument that is a copy of the current ConfigDocument, # but with the desired value set at the desired path. If the path exists, it will # remove all duplicates before the final occurrence of the path, and replace the value # at the final occurrence of the path. If the path does not exist, it will be added. If # the document has an array as the root value, an exception will be thrown. # # @param path the path at which to set the desired value # @param newValue the value to set at the desired path, represented as a string. This # string will be parsed into a ConfigNode using the same options used to # parse the entire document, and the text will be inserted # as-is into the document. Leading and trailing comments, whitespace, or # newlines are not allowed, and if present an exception will be thrown. # If a concatenation is passed in for newValue but the document was parsed # with JSON, the first value in the concatenation will be parsed and inserted # into the ConfigDocument. # @return a copy of the ConfigDocument with the desired value at the desired path # def set_value(path, new_value) raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigDocument should override `render` (#{self.class})" end # # Returns a new ConfigDocument that is a copy of the current ConfigDocument, # but with the desired value set at the desired path as with {@link #setValue(String, String)}, # but takes a ConfigValue instead of a string. # # @param path the path at which to set the desired value # @param newValue the value to set at the desired path, represented as a ConfigValue. # The rendered text of the ConfigValue will be inserted into the # ConfigDocument. # @return a copy of the ConfigDocument with the desired value at the desired path # def set_config_value(path, new_value) raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigDocument should override `render` (#{self.class})" end # # Returns a new ConfigDocument that is a copy of the current ConfigDocument, but with # the value at the desired path removed. If the desired path does not exist in the document, # a copy of the current document will be returned. If there is an array at the root, an exception # will be thrown. # # @param path the path to remove from the document # @return a copy of the ConfigDocument with the desired value removed from the document. # def remove_value(path) raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigDocument should override `render` (#{self.class})" end # # Returns a boolean indicating whether or not a ConfigDocument has a value at the desired path. # @param path the path to check # @return true if the path exists in the document, otherwise false # def has_value?(path) raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigDocument should override `render` (#{self.class})" end # # The original text of the input, modified if necessary with # any replaced or added values. # @return the modified original text # def render raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigDocument should override `render` (#{self.class})" end end