class Hocon::Impl::ConfigNodeSimpleValue

Constants

Tokens

Attributes

token[R]

Public Class Methods

new(value) click to toggle source
# File lib/hocon/impl/config_node_simple_value.rb, line 17
def initialize(value)
  @token = value
end

Public Instance Methods

tokens() click to toggle source
# File lib/hocon/impl/config_node_simple_value.rb, line 23
def tokens
  [@token]
end
value() click to toggle source
# File lib/hocon/impl/config_node_simple_value.rb, line 27
def value
  if Tokens.value?(@token)
    return Tokens.value(@token)
  elsif Tokens.unquoted_text?(@token)
    return Hocon::Impl::ConfigString::Unquoted.new(@token.origin, Tokens.unquoted_text(@token))
  elsif Tokens.substitution?(@token)
    expression = Tokens.get_substitution_path_expression(@token)
    path = Hocon::Impl::PathParser.parse_path_expression(Hocon::Impl::ArrayIterator.new(expression), @token.origin)
    optional = Tokens.get_substitution_optional(@token)

    return Hocon::Impl::ConfigReference.new(@token.origin, Hocon::Impl::SubstitutionExpression.new(path, optional))
  end
  raise Hocon::ConfigError::ConfigBugOrBrokenError, 'ConfigNodeSimpleValue did not contain a valid value token'
end