Module: Hocon::ConfigParseable

Included in:
Impl::Parseable
Defined in:
lib/hocon/config_parseable.rb

Overview

An opaque handle to something that can be parsed, obtained from ConfigIncludeContext.

<p> Do not implement this interface; 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.

Instance Method Summary collapse

Instance Method Details

#optionsObject

Get the initial options, which can be modified then passed to parse(). These options will have the right description, includer, and other parameters already set up.

Returns:

  • the initial options

Raises:



47
48
49
# File 'lib/hocon/config_parseable.rb', line 47

def options
  raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of `ConfigParseable` must implement `options` (#{self.class})"
end

#originObject

Returns a ConfigOrigin describing the origin of the parseable item.

Returns:

  • the origin of the parseable item

Raises:



37
38
39
# File 'lib/hocon/config_parseable.rb', line 37

def origin
  raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of `ConfigParseable` must implement `origin` (#{self.class})"
end

#parse(options) ⇒ Object

Parse whatever it is. The options should come from ConfigParseable#options options() but you could tweak them if you like.

Parameters:

  • options

    parse options, should be based on the ones from ConfigParseable#options options()

Returns:

  • the parsed object

Raises:



28
29
30
# File 'lib/hocon/config_parseable.rb', line 28

def parse(options)
  raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of `ConfigParseable` must implement `parse` (#{self.class})"
end