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.
Files changed (92) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +4 -2
  3. data/lib/hocon.rb +2 -0
  4. data/lib/hocon/config.rb +1010 -0
  5. data/lib/hocon/config_error.rb +32 -2
  6. data/lib/hocon/config_factory.rb +46 -0
  7. data/lib/hocon/config_include_context.rb +49 -0
  8. data/lib/hocon/config_includer_file.rb +27 -0
  9. data/lib/hocon/config_list.rb +49 -0
  10. data/lib/hocon/config_mergeable.rb +74 -0
  11. data/lib/hocon/config_object.rb +144 -1
  12. data/lib/hocon/config_parse_options.rb +33 -9
  13. data/lib/hocon/config_parseable.rb +51 -0
  14. data/lib/hocon/config_render_options.rb +4 -2
  15. data/lib/hocon/config_resolve_options.rb +31 -0
  16. data/lib/hocon/config_syntax.rb +5 -2
  17. data/lib/hocon/config_util.rb +73 -0
  18. data/lib/hocon/config_value.rb +122 -0
  19. data/lib/hocon/config_value_factory.rb +66 -2
  20. data/lib/hocon/config_value_type.rb +5 -2
  21. data/lib/hocon/impl.rb +2 -0
  22. data/lib/hocon/impl/abstract_config_node.rb +29 -0
  23. data/lib/hocon/impl/abstract_config_node_value.rb +11 -0
  24. data/lib/hocon/impl/abstract_config_object.rb +148 -42
  25. data/lib/hocon/impl/abstract_config_value.rb +251 -11
  26. data/lib/hocon/impl/array_iterator.rb +19 -0
  27. data/lib/hocon/impl/config_boolean.rb +7 -1
  28. data/lib/hocon/impl/config_concatenation.rb +177 -28
  29. data/lib/hocon/impl/config_delayed_merge.rb +329 -0
  30. data/lib/hocon/impl/config_delayed_merge_object.rb +274 -0
  31. data/lib/hocon/impl/config_document_parser.rb +647 -0
  32. data/lib/hocon/impl/config_double.rb +44 -0
  33. data/lib/hocon/impl/config_impl.rb +143 -19
  34. data/lib/hocon/impl/config_impl_util.rb +18 -0
  35. data/lib/hocon/impl/config_include_kind.rb +10 -0
  36. data/lib/hocon/impl/config_int.rb +13 -1
  37. data/lib/hocon/impl/config_node_array.rb +11 -0
  38. data/lib/hocon/impl/config_node_comment.rb +19 -0
  39. data/lib/hocon/impl/config_node_complex_value.rb +54 -0
  40. data/lib/hocon/impl/config_node_concatenation.rb +11 -0
  41. data/lib/hocon/impl/config_node_field.rb +81 -0
  42. data/lib/hocon/impl/config_node_include.rb +33 -0
  43. data/lib/hocon/impl/config_node_object.rb +276 -0
  44. data/lib/hocon/impl/config_node_path.rb +48 -0
  45. data/lib/hocon/impl/config_node_root.rb +60 -0
  46. data/lib/hocon/impl/config_node_simple_value.rb +42 -0
  47. data/lib/hocon/impl/config_node_single_token.rb +17 -0
  48. data/lib/hocon/impl/config_null.rb +15 -7
  49. data/lib/hocon/impl/config_number.rb +43 -4
  50. data/lib/hocon/impl/config_parser.rb +403 -0
  51. data/lib/hocon/impl/config_reference.rb +142 -0
  52. data/lib/hocon/impl/config_string.rb +55 -7
  53. data/lib/hocon/impl/container.rb +29 -0
  54. data/lib/hocon/impl/default_transformer.rb +24 -15
  55. data/lib/hocon/impl/from_map_mode.rb +3 -1
  56. data/lib/hocon/impl/full_includer.rb +2 -0
  57. data/lib/hocon/impl/memo_key.rb +42 -0
  58. data/lib/hocon/impl/mergeable_value.rb +8 -0
  59. data/lib/hocon/impl/origin_type.rb +8 -2
  60. data/lib/hocon/impl/parseable.rb +455 -91
  61. data/lib/hocon/impl/path.rb +181 -59
  62. data/lib/hocon/impl/path_builder.rb +24 -3
  63. data/lib/hocon/impl/path_parser.rb +280 -0
  64. data/lib/hocon/impl/replaceable_merge_stack.rb +22 -0
  65. data/lib/hocon/impl/resolve_context.rb +254 -0
  66. data/lib/hocon/impl/resolve_memos.rb +21 -0
  67. data/lib/hocon/impl/resolve_result.rb +39 -0
  68. data/lib/hocon/impl/resolve_source.rb +354 -0
  69. data/lib/hocon/impl/resolve_status.rb +3 -1
  70. data/lib/hocon/impl/simple_config.rb +264 -10
  71. data/lib/hocon/impl/simple_config_document.rb +48 -0
  72. data/lib/hocon/impl/simple_config_list.rb +282 -8
  73. data/lib/hocon/impl/simple_config_object.rb +424 -88
  74. data/lib/hocon/impl/simple_config_origin.rb +263 -71
  75. data/lib/hocon/impl/simple_include_context.rb +31 -1
  76. data/lib/hocon/impl/simple_includer.rb +196 -1
  77. data/lib/hocon/impl/substitution_expression.rb +38 -0
  78. data/lib/hocon/impl/token.rb +17 -4
  79. data/lib/hocon/impl/token_type.rb +6 -2
  80. data/lib/hocon/impl/tokenizer.rb +339 -109
  81. data/lib/hocon/impl/tokens.rb +330 -79
  82. data/lib/hocon/impl/unmergeable.rb +14 -1
  83. data/lib/hocon/impl/unsupported_operation_error.rb +6 -0
  84. data/lib/hocon/impl/url.rb +37 -0
  85. data/lib/hocon/parser.rb +7 -0
  86. data/lib/hocon/parser/config_document.rb +92 -0
  87. data/lib/hocon/parser/config_document_factory.rb +36 -0
  88. data/lib/hocon/parser/config_node.rb +30 -0
  89. metadata +67 -43
  90. data/lib/hocon/impl/config_float.rb +0 -13
  91. data/lib/hocon/impl/parser.rb +0 -977
  92. 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
- end
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,6 @@
1
+ # encoding: utf-8
2
+
3
+ require 'hocon/impl'
4
+
5
+ class Hocon::Impl::UnsupportedOperationError < StandardError
6
+ 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
@@ -0,0 +1,7 @@
1
+ # encoding: utf-8
2
+
3
+ require 'hocon'
4
+
5
+ module Hocon::Parser
6
+
7
+ end
@@ -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.7
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-01-20 00:00:00.000000000 Z
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/config_float.rb
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/properties_parser.rb
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
- - LICENSE
114
- - README.md
115
- homepage: https://github.com/cprice404/ruby-hocon
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: 1.8.23.2
160
+ rubygems_version: 2.2.2
137
161
  signing_key:
138
- specification_version: 3
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