hocon 0.0.7 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +4 -2
- data/lib/hocon.rb +2 -0
- data/lib/hocon/config.rb +1010 -0
- data/lib/hocon/config_error.rb +32 -2
- data/lib/hocon/config_factory.rb +46 -0
- data/lib/hocon/config_include_context.rb +49 -0
- data/lib/hocon/config_includer_file.rb +27 -0
- data/lib/hocon/config_list.rb +49 -0
- data/lib/hocon/config_mergeable.rb +74 -0
- data/lib/hocon/config_object.rb +144 -1
- data/lib/hocon/config_parse_options.rb +33 -9
- data/lib/hocon/config_parseable.rb +51 -0
- data/lib/hocon/config_render_options.rb +4 -2
- data/lib/hocon/config_resolve_options.rb +31 -0
- data/lib/hocon/config_syntax.rb +5 -2
- data/lib/hocon/config_util.rb +73 -0
- data/lib/hocon/config_value.rb +122 -0
- data/lib/hocon/config_value_factory.rb +66 -2
- data/lib/hocon/config_value_type.rb +5 -2
- data/lib/hocon/impl.rb +2 -0
- data/lib/hocon/impl/abstract_config_node.rb +29 -0
- data/lib/hocon/impl/abstract_config_node_value.rb +11 -0
- data/lib/hocon/impl/abstract_config_object.rb +148 -42
- data/lib/hocon/impl/abstract_config_value.rb +251 -11
- data/lib/hocon/impl/array_iterator.rb +19 -0
- data/lib/hocon/impl/config_boolean.rb +7 -1
- data/lib/hocon/impl/config_concatenation.rb +177 -28
- data/lib/hocon/impl/config_delayed_merge.rb +329 -0
- data/lib/hocon/impl/config_delayed_merge_object.rb +274 -0
- data/lib/hocon/impl/config_document_parser.rb +647 -0
- data/lib/hocon/impl/config_double.rb +44 -0
- data/lib/hocon/impl/config_impl.rb +143 -19
- data/lib/hocon/impl/config_impl_util.rb +18 -0
- data/lib/hocon/impl/config_include_kind.rb +10 -0
- data/lib/hocon/impl/config_int.rb +13 -1
- data/lib/hocon/impl/config_node_array.rb +11 -0
- data/lib/hocon/impl/config_node_comment.rb +19 -0
- data/lib/hocon/impl/config_node_complex_value.rb +54 -0
- data/lib/hocon/impl/config_node_concatenation.rb +11 -0
- data/lib/hocon/impl/config_node_field.rb +81 -0
- data/lib/hocon/impl/config_node_include.rb +33 -0
- data/lib/hocon/impl/config_node_object.rb +276 -0
- data/lib/hocon/impl/config_node_path.rb +48 -0
- data/lib/hocon/impl/config_node_root.rb +60 -0
- data/lib/hocon/impl/config_node_simple_value.rb +42 -0
- data/lib/hocon/impl/config_node_single_token.rb +17 -0
- data/lib/hocon/impl/config_null.rb +15 -7
- data/lib/hocon/impl/config_number.rb +43 -4
- data/lib/hocon/impl/config_parser.rb +403 -0
- data/lib/hocon/impl/config_reference.rb +142 -0
- data/lib/hocon/impl/config_string.rb +55 -7
- data/lib/hocon/impl/container.rb +29 -0
- data/lib/hocon/impl/default_transformer.rb +24 -15
- data/lib/hocon/impl/from_map_mode.rb +3 -1
- data/lib/hocon/impl/full_includer.rb +2 -0
- data/lib/hocon/impl/memo_key.rb +42 -0
- data/lib/hocon/impl/mergeable_value.rb +8 -0
- data/lib/hocon/impl/origin_type.rb +8 -2
- data/lib/hocon/impl/parseable.rb +455 -91
- data/lib/hocon/impl/path.rb +181 -59
- data/lib/hocon/impl/path_builder.rb +24 -3
- data/lib/hocon/impl/path_parser.rb +280 -0
- data/lib/hocon/impl/replaceable_merge_stack.rb +22 -0
- data/lib/hocon/impl/resolve_context.rb +254 -0
- data/lib/hocon/impl/resolve_memos.rb +21 -0
- data/lib/hocon/impl/resolve_result.rb +39 -0
- data/lib/hocon/impl/resolve_source.rb +354 -0
- data/lib/hocon/impl/resolve_status.rb +3 -1
- data/lib/hocon/impl/simple_config.rb +264 -10
- data/lib/hocon/impl/simple_config_document.rb +48 -0
- data/lib/hocon/impl/simple_config_list.rb +282 -8
- data/lib/hocon/impl/simple_config_object.rb +424 -88
- data/lib/hocon/impl/simple_config_origin.rb +263 -71
- data/lib/hocon/impl/simple_include_context.rb +31 -1
- data/lib/hocon/impl/simple_includer.rb +196 -1
- data/lib/hocon/impl/substitution_expression.rb +38 -0
- data/lib/hocon/impl/token.rb +17 -4
- data/lib/hocon/impl/token_type.rb +6 -2
- data/lib/hocon/impl/tokenizer.rb +339 -109
- data/lib/hocon/impl/tokens.rb +330 -79
- data/lib/hocon/impl/unmergeable.rb +14 -1
- data/lib/hocon/impl/unsupported_operation_error.rb +6 -0
- data/lib/hocon/impl/url.rb +37 -0
- data/lib/hocon/parser.rb +7 -0
- data/lib/hocon/parser/config_document.rb +92 -0
- data/lib/hocon/parser/config_document_factory.rb +36 -0
- data/lib/hocon/parser/config_node.rb +30 -0
- metadata +67 -43
- data/lib/hocon/impl/config_float.rb +0 -13
- data/lib/hocon/impl/parser.rb +0 -977
- data/lib/hocon/impl/properties_parser.rb +0 -83
@@ -1,4 +1,17 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
1
3
|
require 'hocon/impl'
|
4
|
+
require 'hocon/config_error'
|
5
|
+
|
2
6
|
|
7
|
+
#
|
8
|
+
# Interface that tags a ConfigValue that is not mergeable until after
|
9
|
+
# substitutions are resolved. Basically these are special ConfigValue that
|
10
|
+
# never appear in a resolved tree, like {@link ConfigSubstitution} and
|
11
|
+
# {@link ConfigDelayedMerge}.
|
12
|
+
#
|
3
13
|
module Hocon::Impl::Unmergeable
|
4
|
-
|
14
|
+
def unmerged_values
|
15
|
+
raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of `Unmergeable` must implement `unmerged_values` (#{self.class})"
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'uri'
|
4
|
+
require 'hocon/impl'
|
5
|
+
|
6
|
+
# There are several places in the Java codebase that
|
7
|
+
# use Java's URL constructor, and rely on it to throw
|
8
|
+
# a `MalformedURLException` if the URL isn't valid.
|
9
|
+
#
|
10
|
+
# Ruby doesn't really have a similar constructor /
|
11
|
+
# validator, so this is a little shim to hopefully
|
12
|
+
# make the ported code match up with the upstream more
|
13
|
+
# closely.
|
14
|
+
class Hocon::Impl::Url
|
15
|
+
class MalformedUrlError < StandardError
|
16
|
+
def initialize(msg, cause = nil)
|
17
|
+
super(msg)
|
18
|
+
@cause = cause
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def initialize(url)
|
23
|
+
begin
|
24
|
+
# URI::parse wants a string
|
25
|
+
@url = URI.parse(url.to_s)
|
26
|
+
if !(@url.kind_of?(URI::HTTP))
|
27
|
+
raise MalformedUrlError, "Unrecognized URL: '#{url}'"
|
28
|
+
end
|
29
|
+
rescue URI::InvalidURIError => e
|
30
|
+
raise MalformedUrlError.new("Unrecognized URL: '#{url}' (error: #{e})", e)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def to_s
|
35
|
+
@url.to_s
|
36
|
+
end
|
37
|
+
end
|
data/lib/hocon/parser.rb
ADDED
@@ -0,0 +1,92 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'hocon/parser'
|
4
|
+
require 'hocon/config_error'
|
5
|
+
|
6
|
+
#
|
7
|
+
# Represents an individual HOCON or JSON file, preserving all
|
8
|
+
# formatting and syntax details. This can be used to replace
|
9
|
+
# individual values and exactly render the original text of the
|
10
|
+
# input.
|
11
|
+
#
|
12
|
+
# <p>
|
13
|
+
# Because this object is immutable, it is safe to use from multiple threads and
|
14
|
+
# there's no need for "defensive copies."
|
15
|
+
#
|
16
|
+
# <p>
|
17
|
+
# <em>Do not implement interface {@code ConfigDocument}</em>; it should only be
|
18
|
+
# implemented by the config library. Arbitrary implementations will not work
|
19
|
+
# because the library internals assume a specific concrete implementation.#
|
20
|
+
# Also, this interface is likely to grow new methods over time, so third-party
|
21
|
+
# implementations will break.
|
22
|
+
#
|
23
|
+
|
24
|
+
module Hocon::Parser::ConfigDocument
|
25
|
+
#
|
26
|
+
# Returns a new ConfigDocument that is a copy of the current ConfigDocument,
|
27
|
+
# but with the desired value set at the desired path. If the path exists, it will
|
28
|
+
# remove all duplicates before the final occurrence of the path, and replace the value
|
29
|
+
# at the final occurrence of the path. If the path does not exist, it will be added. If
|
30
|
+
# the document has an array as the root value, an exception will be thrown.
|
31
|
+
#
|
32
|
+
# @param path the path at which to set the desired value
|
33
|
+
# @param newValue the value to set at the desired path, represented as a string. This
|
34
|
+
# string will be parsed into a ConfigNode using the same options used to
|
35
|
+
# parse the entire document, and the text will be inserted
|
36
|
+
# as-is into the document. Leading and trailing comments, whitespace, or
|
37
|
+
# newlines are not allowed, and if present an exception will be thrown.
|
38
|
+
# If a concatenation is passed in for newValue but the document was parsed
|
39
|
+
# with JSON, the first value in the concatenation will be parsed and inserted
|
40
|
+
# into the ConfigDocument.
|
41
|
+
# @return a copy of the ConfigDocument with the desired value at the desired path
|
42
|
+
#
|
43
|
+
def set_value(path, new_value)
|
44
|
+
raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigDocument should override `render` (#{self.class})"
|
45
|
+
end
|
46
|
+
|
47
|
+
#
|
48
|
+
# Returns a new ConfigDocument that is a copy of the current ConfigDocument,
|
49
|
+
# but with the desired value set at the desired path as with {@link #setValue(String, String)},
|
50
|
+
# but takes a ConfigValue instead of a string.
|
51
|
+
#
|
52
|
+
# @param path the path at which to set the desired value
|
53
|
+
# @param newValue the value to set at the desired path, represented as a ConfigValue.
|
54
|
+
# The rendered text of the ConfigValue will be inserted into the
|
55
|
+
# ConfigDocument.
|
56
|
+
# @return a copy of the ConfigDocument with the desired value at the desired path
|
57
|
+
#
|
58
|
+
def set_config_value(path, new_value)
|
59
|
+
raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigDocument should override `render` (#{self.class})"
|
60
|
+
end
|
61
|
+
|
62
|
+
#
|
63
|
+
# Returns a new ConfigDocument that is a copy of the current ConfigDocument, but with
|
64
|
+
# the value at the desired path removed. If the desired path does not exist in the document,
|
65
|
+
# a copy of the current document will be returned. If there is an array at the root, an exception
|
66
|
+
# will be thrown.
|
67
|
+
#
|
68
|
+
# @param path the path to remove from the document
|
69
|
+
# @return a copy of the ConfigDocument with the desired value removed from the document.
|
70
|
+
#
|
71
|
+
def remove_value(path)
|
72
|
+
raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigDocument should override `render` (#{self.class})"
|
73
|
+
end
|
74
|
+
|
75
|
+
#
|
76
|
+
# Returns a boolean indicating whether or not a ConfigDocument has a value at the desired path.
|
77
|
+
# @param path the path to check
|
78
|
+
# @return true if the path exists in the document, otherwise false
|
79
|
+
#
|
80
|
+
def has_value?(path)
|
81
|
+
raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigDocument should override `render` (#{self.class})"
|
82
|
+
end
|
83
|
+
|
84
|
+
#
|
85
|
+
# The original text of the input, modified if necessary with
|
86
|
+
# any replaced or added values.
|
87
|
+
# @return the modified original text
|
88
|
+
#
|
89
|
+
def render
|
90
|
+
raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigDocument should override `render` (#{self.class})"
|
91
|
+
end
|
92
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'hocon/parser'
|
4
|
+
require 'hocon/impl/parseable'
|
5
|
+
require 'hocon/config_parse_options'
|
6
|
+
|
7
|
+
#
|
8
|
+
# Factory for creating {@link
|
9
|
+
# com.typesafe.config.parser.ConfigDocument} instances.
|
10
|
+
#
|
11
|
+
class Hocon::Parser::ConfigDocumentFactory
|
12
|
+
#
|
13
|
+
# Parses a file into a ConfigDocument instance.
|
14
|
+
#
|
15
|
+
# @param file
|
16
|
+
# the file to parse
|
17
|
+
# @param options
|
18
|
+
# parse options to control how the file is interpreted
|
19
|
+
# @return the parsed configuration
|
20
|
+
# @throws com.typesafe.config.ConfigException on IO or parse errors
|
21
|
+
#
|
22
|
+
def self.parse_file(file, options = Hocon::ConfigParseOptions.defaults)
|
23
|
+
Hocon::Impl::Parseable.new_file(file, options).parse_config_document
|
24
|
+
end
|
25
|
+
|
26
|
+
#
|
27
|
+
# Parses a string which should be valid HOCON or JSON.
|
28
|
+
#
|
29
|
+
# @param s string to parse
|
30
|
+
# @param options parse options
|
31
|
+
# @return the parsed configuration
|
32
|
+
#
|
33
|
+
def self.parse_string(s, options = Hocon::ConfigParseOptions.defaults)
|
34
|
+
Hocon::Impl::Parseable.new_string(s, options).parse_config_document
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
require 'hocon/parser'
|
4
|
+
require 'hocon/config_error'
|
5
|
+
|
6
|
+
#
|
7
|
+
# An immutable node that makes up the ConfigDocument AST, and which can be
|
8
|
+
# used to reproduce part or all of the original text of an input.
|
9
|
+
#
|
10
|
+
# <p>
|
11
|
+
# Because this object is immutable, it is safe to use from multiple threads and
|
12
|
+
# there's no need for "defensive copies."
|
13
|
+
#
|
14
|
+
# <p>
|
15
|
+
# <em>Do not implement interface {@code ConfigNode}</em>; it should only be
|
16
|
+
# implemented by the config library. Arbitrary implementations will not work
|
17
|
+
# because the library internals assume a specific concrete implementation.
|
18
|
+
# Also, this interface is likely to grow new methods over time, so third-party
|
19
|
+
# implementations will break.
|
20
|
+
#
|
21
|
+
|
22
|
+
module Hocon::Parser::ConfigNode
|
23
|
+
#
|
24
|
+
# The original text of the input which was used to form this particular node.
|
25
|
+
# @return the original text used to form this node as a String
|
26
|
+
#
|
27
|
+
def render
|
28
|
+
raise Hocon::ConfigError::ConfigBugOrBrokenError, "subclasses of ConfigNode should override `render` (#{self.class})"
|
29
|
+
end
|
30
|
+
end
|
metadata
CHANGED
@@ -1,140 +1,164 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hocon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
5
|
-
prerelease:
|
4
|
+
version: 0.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Chris Price
|
9
8
|
- Wayne Warren
|
10
9
|
- Preben Ingvaldsen
|
10
|
+
- Joe Pinsonault
|
11
|
+
- Kevin Corcoran
|
11
12
|
autorequire:
|
12
13
|
bindir: bin
|
13
14
|
cert_chain: []
|
14
|
-
date: 2015-
|
15
|
+
date: 2015-04-09 00:00:00.000000000 Z
|
15
16
|
dependencies:
|
16
17
|
- !ruby/object:Gem::Dependency
|
17
18
|
name: bundler
|
18
19
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
20
|
requirements:
|
21
|
-
- - ~>
|
21
|
+
- - "~>"
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: '1.5'
|
24
24
|
type: :development
|
25
25
|
prerelease: false
|
26
26
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
27
|
requirements:
|
29
|
-
- - ~>
|
28
|
+
- - "~>"
|
30
29
|
- !ruby/object:Gem::Version
|
31
30
|
version: '1.5'
|
32
|
-
- !ruby/object:Gem::Dependency
|
33
|
-
name: rake
|
34
|
-
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
|
-
requirements:
|
37
|
-
- - ! '>='
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: '0'
|
40
|
-
type: :development
|
41
|
-
prerelease: false
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
|
-
requirements:
|
45
|
-
- - ! '>='
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
48
31
|
- !ruby/object:Gem::Dependency
|
49
32
|
name: rspec
|
50
33
|
requirement: !ruby/object:Gem::Requirement
|
51
|
-
none: false
|
52
34
|
requirements:
|
53
|
-
- - ~>
|
35
|
+
- - "~>"
|
54
36
|
- !ruby/object:Gem::Version
|
55
37
|
version: '2.14'
|
56
38
|
type: :development
|
57
39
|
prerelease: false
|
58
40
|
version_requirements: !ruby/object:Gem::Requirement
|
59
|
-
none: false
|
60
41
|
requirements:
|
61
|
-
- - ~>
|
42
|
+
- - "~>"
|
62
43
|
- !ruby/object:Gem::Version
|
63
44
|
version: '2.14'
|
64
|
-
description: == A port of the Java {Typesafe Config}[https://github.com/typesafehub/config]
|
65
|
-
library to Ruby
|
45
|
+
description: "== A port of the Java {Typesafe Config}[https://github.com/typesafehub/config]
|
46
|
+
library to Ruby"
|
66
47
|
email: chris@puppetlabs.com
|
67
48
|
executables: []
|
68
49
|
extensions: []
|
69
50
|
extra_rdoc_files: []
|
70
51
|
files:
|
52
|
+
- LICENSE
|
53
|
+
- README.md
|
54
|
+
- lib/hocon.rb
|
55
|
+
- lib/hocon/config.rb
|
71
56
|
- lib/hocon/config_error.rb
|
72
57
|
- lib/hocon/config_factory.rb
|
58
|
+
- lib/hocon/config_include_context.rb
|
59
|
+
- lib/hocon/config_includer_file.rb
|
60
|
+
- lib/hocon/config_list.rb
|
61
|
+
- lib/hocon/config_mergeable.rb
|
73
62
|
- lib/hocon/config_object.rb
|
74
63
|
- lib/hocon/config_parse_options.rb
|
64
|
+
- lib/hocon/config_parseable.rb
|
75
65
|
- lib/hocon/config_render_options.rb
|
66
|
+
- lib/hocon/config_resolve_options.rb
|
76
67
|
- lib/hocon/config_syntax.rb
|
68
|
+
- lib/hocon/config_util.rb
|
69
|
+
- lib/hocon/config_value.rb
|
77
70
|
- lib/hocon/config_value_factory.rb
|
78
71
|
- lib/hocon/config_value_type.rb
|
72
|
+
- lib/hocon/impl.rb
|
73
|
+
- lib/hocon/impl/abstract_config_node.rb
|
74
|
+
- lib/hocon/impl/abstract_config_node_value.rb
|
79
75
|
- lib/hocon/impl/abstract_config_object.rb
|
80
76
|
- lib/hocon/impl/abstract_config_value.rb
|
77
|
+
- lib/hocon/impl/array_iterator.rb
|
81
78
|
- lib/hocon/impl/config_boolean.rb
|
82
79
|
- lib/hocon/impl/config_concatenation.rb
|
83
|
-
- lib/hocon/impl/
|
80
|
+
- lib/hocon/impl/config_delayed_merge.rb
|
81
|
+
- lib/hocon/impl/config_delayed_merge_object.rb
|
82
|
+
- lib/hocon/impl/config_document_parser.rb
|
83
|
+
- lib/hocon/impl/config_double.rb
|
84
84
|
- lib/hocon/impl/config_impl.rb
|
85
85
|
- lib/hocon/impl/config_impl_util.rb
|
86
|
+
- lib/hocon/impl/config_include_kind.rb
|
86
87
|
- lib/hocon/impl/config_int.rb
|
88
|
+
- lib/hocon/impl/config_node_array.rb
|
89
|
+
- lib/hocon/impl/config_node_comment.rb
|
90
|
+
- lib/hocon/impl/config_node_complex_value.rb
|
91
|
+
- lib/hocon/impl/config_node_concatenation.rb
|
92
|
+
- lib/hocon/impl/config_node_field.rb
|
93
|
+
- lib/hocon/impl/config_node_include.rb
|
94
|
+
- lib/hocon/impl/config_node_object.rb
|
95
|
+
- lib/hocon/impl/config_node_path.rb
|
96
|
+
- lib/hocon/impl/config_node_root.rb
|
97
|
+
- lib/hocon/impl/config_node_simple_value.rb
|
98
|
+
- lib/hocon/impl/config_node_single_token.rb
|
87
99
|
- lib/hocon/impl/config_null.rb
|
88
100
|
- lib/hocon/impl/config_number.rb
|
101
|
+
- lib/hocon/impl/config_parser.rb
|
102
|
+
- lib/hocon/impl/config_reference.rb
|
89
103
|
- lib/hocon/impl/config_string.rb
|
104
|
+
- lib/hocon/impl/container.rb
|
90
105
|
- lib/hocon/impl/default_transformer.rb
|
91
106
|
- lib/hocon/impl/from_map_mode.rb
|
92
107
|
- lib/hocon/impl/full_includer.rb
|
108
|
+
- lib/hocon/impl/memo_key.rb
|
109
|
+
- lib/hocon/impl/mergeable_value.rb
|
93
110
|
- lib/hocon/impl/origin_type.rb
|
94
111
|
- lib/hocon/impl/parseable.rb
|
95
|
-
- lib/hocon/impl/parser.rb
|
96
112
|
- lib/hocon/impl/path.rb
|
97
113
|
- lib/hocon/impl/path_builder.rb
|
98
|
-
- lib/hocon/impl/
|
114
|
+
- lib/hocon/impl/path_parser.rb
|
115
|
+
- lib/hocon/impl/replaceable_merge_stack.rb
|
116
|
+
- lib/hocon/impl/resolve_context.rb
|
117
|
+
- lib/hocon/impl/resolve_memos.rb
|
118
|
+
- lib/hocon/impl/resolve_result.rb
|
119
|
+
- lib/hocon/impl/resolve_source.rb
|
99
120
|
- lib/hocon/impl/resolve_status.rb
|
100
121
|
- lib/hocon/impl/simple_config.rb
|
122
|
+
- lib/hocon/impl/simple_config_document.rb
|
101
123
|
- lib/hocon/impl/simple_config_list.rb
|
102
124
|
- lib/hocon/impl/simple_config_object.rb
|
103
125
|
- lib/hocon/impl/simple_config_origin.rb
|
104
126
|
- lib/hocon/impl/simple_include_context.rb
|
105
127
|
- lib/hocon/impl/simple_includer.rb
|
128
|
+
- lib/hocon/impl/substitution_expression.rb
|
106
129
|
- lib/hocon/impl/token.rb
|
107
130
|
- lib/hocon/impl/token_type.rb
|
108
131
|
- lib/hocon/impl/tokenizer.rb
|
109
132
|
- lib/hocon/impl/tokens.rb
|
110
133
|
- lib/hocon/impl/unmergeable.rb
|
111
|
-
- lib/hocon/impl.rb
|
112
|
-
- lib/hocon.rb
|
113
|
-
-
|
114
|
-
-
|
115
|
-
|
134
|
+
- lib/hocon/impl/unsupported_operation_error.rb
|
135
|
+
- lib/hocon/impl/url.rb
|
136
|
+
- lib/hocon/parser.rb
|
137
|
+
- lib/hocon/parser/config_document.rb
|
138
|
+
- lib/hocon/parser/config_document_factory.rb
|
139
|
+
- lib/hocon/parser/config_node.rb
|
140
|
+
homepage: https://github.com/puppetlabs/ruby-hocon
|
116
141
|
licenses:
|
117
142
|
- Apache License, v2
|
143
|
+
metadata: {}
|
118
144
|
post_install_message:
|
119
145
|
rdoc_options: []
|
120
146
|
require_paths:
|
121
147
|
- lib
|
122
148
|
required_ruby_version: !ruby/object:Gem::Requirement
|
123
|
-
none: false
|
124
149
|
requirements:
|
125
|
-
- -
|
150
|
+
- - ">="
|
126
151
|
- !ruby/object:Gem::Version
|
127
152
|
version: '0'
|
128
153
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
154
|
requirements:
|
131
|
-
- -
|
155
|
+
- - ">="
|
132
156
|
- !ruby/object:Gem::Version
|
133
157
|
version: '0'
|
134
158
|
requirements: []
|
135
159
|
rubyforge_project:
|
136
|
-
rubygems_version:
|
160
|
+
rubygems_version: 2.2.2
|
137
161
|
signing_key:
|
138
|
-
specification_version:
|
162
|
+
specification_version: 4
|
139
163
|
summary: HOCON Config Library
|
140
164
|
test_files: []
|
@@ -1,13 +0,0 @@
|
|
1
|
-
require 'hocon/impl'
|
2
|
-
require 'hocon/impl/config_number'
|
3
|
-
|
4
|
-
class Hocon::Impl::ConfigFloat < Hocon::Impl::ConfigNumber
|
5
|
-
def initialize(origin, value, original_text)
|
6
|
-
super(origin, original_text)
|
7
|
-
@value = value
|
8
|
-
end
|
9
|
-
|
10
|
-
def unwrapped
|
11
|
-
@value
|
12
|
-
end
|
13
|
-
end
|