hocon 0.0.7 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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