PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
| Dir : /opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/hocon-1.3.1/lib/hocon/impl/ |
| Server: Linux server1.ngambekcore.com 4.18.0-553.51.1.el8_10.x86_64 #1 SMP Wed Apr 30 04:00:07 EDT 2025 x86_64 IP: 159.198.77.92 |
| Dir : //opt/puppetlabs/puppet/lib/ruby/vendor_gems/gems/hocon-1.3.1/lib/hocon/impl/config_node_path.rb |
# encoding: utf-8
require 'hocon/impl'
require 'hocon/impl/tokens'
require 'hocon/impl/abstract_config_node'
class Hocon::Impl::ConfigNodePath
include Hocon::Impl::AbstractConfigNode
Tokens = Hocon::Impl::Tokens
def initialize(path, tokens)
@path = path
@tokens = tokens
end
attr_reader :tokens
def value
@path
end
def sub_path(to_remove)
period_count = 0
tokens_copy = tokens.clone
(0..tokens_copy.size - 1).each do |i|
if Tokens.unquoted_text?(tokens_copy[i]) &&
tokens_copy[i].token_text == "."
period_count += 1
end
if period_count == to_remove
return self.class.new(@path.sub_path_to_end(to_remove), tokens_copy[i + 1..tokens_copy.size])
end
end
raise ConfigBugOrBrokenError, "Tried to remove too many elements from a Path node"
end
def first
tokens_copy = tokens.clone
(0..tokens_copy.size - 1).each do |i|
if Tokens.unquoted_text?(tokens_copy[i]) &&
tokens_copy[i].token_text == "."
return self.class.new(@path.sub_path(0, 1), tokens_copy[0, i])
end
end
self
end
end