hocon 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 57938b00093e55e8bc196496cc5d491d16d76a2e
4
+ data.tar.gz: 700b53343336fb33116a0de444a2d04f2881e405
5
+ SHA512:
6
+ metadata.gz: bfedb58b6b68d16ee07e307f1f714e49efb1228147476fe8d6cbc788be924963fd4ebade645135c71b04306f49cc63adefd89b0855829aa6747daeb54f44ee5f
7
+ data.tar.gz: 209bf58ccc186f9a849e75be0fc0c33af4f08460b88c6dcfdc5a0c484dcc881523b18fb96e306fd4577aa71b3336b859c5578d1926c4f2d4223b35177a172022
data/README.md CHANGED
@@ -12,8 +12,14 @@ The implementation is intended to be as close to a line-for-line port as the two
12
12
  Basic Usage
13
13
  ===========
14
14
 
15
+ ```sh
16
+ gem install hocon
17
+ ```
18
+
19
+
15
20
  ```rb
16
21
  require 'hocon/config_factory'
17
22
 
18
23
  conf = Hocon::ConfigFactory.parse_file("myapp.conf")
19
24
  conf_map = conf.root.unwrapped
25
+ ```
@@ -9,4 +9,7 @@ class Hocon::ConfigError < StandardError
9
9
 
10
10
  class ConfigParseError < Hocon::ConfigError
11
11
  end
12
- end
12
+
13
+ class ConfigWrongTypeError < Hocon::ConfigError
14
+ end
15
+ end
@@ -6,4 +6,8 @@ class Hocon::ConfigFactory
6
6
  def self.parse_file(file_path, options = Hocon::ConfigParseOptions.defaults)
7
7
  Hocon::Impl::Parseable.new_file(file_path, options).parse.to_config
8
8
  end
9
- end
9
+
10
+ def self.parse_string(string, options = Hocon::ConfigParseOptions.defaults)
11
+ Hocon::Impl::Parseable.new_string(string, options).parse.to_config
12
+ end
13
+ end
@@ -1,4 +1,6 @@
1
+ require 'stringio'
1
2
  require 'hocon/impl'
3
+ require 'hocon/config_error'
2
4
  require 'hocon/config_syntax'
3
5
  require 'hocon/impl/config_impl'
4
6
  require 'hocon/impl/simple_include_context'
@@ -37,10 +39,44 @@ class Hocon::Impl::Parseable
37
39
  end
38
40
  end
39
41
 
42
+ class ParseableString < Hocon::Impl::Parseable
43
+ def initialize(string, options)
44
+ @input = string
45
+ post_construct(options)
46
+ end
47
+
48
+ def create_origin
49
+ Hocon::Impl::SimpleConfigOrigin.new_simple("String")
50
+ end
51
+
52
+ def reader
53
+ self
54
+ end
55
+
56
+ def open
57
+ if block_given?
58
+ StringIO.open(@input) do |f|
59
+ yield f
60
+ end
61
+ else
62
+ StringIO.open(@input)
63
+ end
64
+ end
65
+
66
+ end
67
+
40
68
  def self.new_file(file_path, options)
41
69
  ParseableFile.new(file_path, options)
42
70
  end
43
71
 
72
+ def self.new_string(string, options)
73
+ ParseableString.new(string, options)
74
+ end
75
+
76
+ def guess_syntax
77
+ nil
78
+ end
79
+
44
80
  def options
45
81
  @initial_options
46
82
  end
@@ -53,8 +89,9 @@ class Hocon::Impl::Parseable
53
89
  if value.is_a? Hocon::Impl::AbstractConfigObject
54
90
  value
55
91
  else
56
- raise ConfigWrongTypeError.new(value.origin, "", "object at file root",
57
- value.value_type.name)
92
+ raise Hocon::ConfigError::ConfigWrongTypeError.new(value.origin, "",
93
+ "object at file root",
94
+ value.value_type.name)
58
95
  end
59
96
  end
60
97
 
@@ -111,7 +148,7 @@ class Hocon::Impl::Parseable
111
148
  syntax = guess_syntax
112
149
  end
113
150
  if !syntax
114
- syntax = Hocon::ConfigSyntax.CONF
151
+ syntax = Hocon::ConfigSyntax::CONF
115
152
  end
116
153
 
117
154
  modified = base_options.with_syntax(syntax)
@@ -148,4 +185,4 @@ class Hocon::Impl::Parseable
148
185
  tokens = Hocon::Impl::Tokenizer.tokenize(origin, io, final_options.syntax)
149
186
  Hocon::Impl::Parser.parse(tokens, origin, final_options, include_context)
150
187
  end
151
- end
188
+ end
metadata CHANGED
@@ -1,84 +1,97 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hocon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
5
- prerelease:
4
+ version: 0.0.2
6
5
  platform: ruby
7
6
  authors:
8
7
  - Chris Price
8
+ - Wayne Warren
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-16 00:00:00.000000000 Z
13
- dependencies: []
14
- description: == A port of the Java {Typesafe Config}[https://github.com/typesafehub/config]
15
- library to Ruby
12
+ date: 2014-07-23 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rspec
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: '2.14'
21
+ type: :development
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: '2.14'
28
+ description: "== A port of the Java {Typesafe Config}[https://github.com/typesafehub/config]
29
+ library to Ruby"
16
30
  email: chris@puppetlabs.com
17
31
  executables: []
18
32
  extensions: []
19
33
  extra_rdoc_files: []
20
34
  files:
35
+ - LICENSE
36
+ - README.md
21
37
  - lib/hocon.rb
22
- - lib/hocon/config_object.rb
23
38
  - lib/hocon/config_error.rb
24
- - lib/hocon/impl/simple_includer.rb
25
- - lib/hocon/impl/config_number.rb
26
- - lib/hocon/impl/simple_config.rb
39
+ - lib/hocon/config_factory.rb
40
+ - lib/hocon/config_object.rb
41
+ - lib/hocon/config_parse_options.rb
42
+ - lib/hocon/config_render_options.rb
43
+ - lib/hocon/config_syntax.rb
44
+ - lib/hocon/config_value_type.rb
45
+ - lib/hocon/impl.rb
46
+ - lib/hocon/impl/abstract_config_object.rb
47
+ - lib/hocon/impl/abstract_config_value.rb
48
+ - lib/hocon/impl/config_concatenation.rb
49
+ - lib/hocon/impl/config_float.rb
50
+ - lib/hocon/impl/config_impl.rb
51
+ - lib/hocon/impl/config_impl_util.rb
27
52
  - lib/hocon/impl/config_int.rb
28
- - lib/hocon/impl/resolve_status.rb
29
- - lib/hocon/impl/simple_config_origin.rb
30
- - lib/hocon/impl/token.rb
53
+ - lib/hocon/impl/config_number.rb
31
54
  - lib/hocon/impl/config_string.rb
32
- - lib/hocon/impl/config_float.rb
33
55
  - lib/hocon/impl/full_includer.rb
56
+ - lib/hocon/impl/origin_type.rb
57
+ - lib/hocon/impl/parseable.rb
34
58
  - lib/hocon/impl/parser.rb
35
- - lib/hocon/impl/tokens.rb
36
- - lib/hocon/impl/tokenizer.rb
37
- - lib/hocon/impl/abstract_config_object.rb
59
+ - lib/hocon/impl/path.rb
60
+ - lib/hocon/impl/path_builder.rb
61
+ - lib/hocon/impl/resolve_status.rb
62
+ - lib/hocon/impl/simple_config.rb
63
+ - lib/hocon/impl/simple_config_list.rb
64
+ - lib/hocon/impl/simple_config_object.rb
65
+ - lib/hocon/impl/simple_config_origin.rb
38
66
  - lib/hocon/impl/simple_include_context.rb
67
+ - lib/hocon/impl/simple_includer.rb
68
+ - lib/hocon/impl/token.rb
39
69
  - lib/hocon/impl/token_type.rb
40
- - lib/hocon/impl/path_builder.rb
41
- - lib/hocon/impl/parseable.rb
42
- - lib/hocon/impl/path.rb
70
+ - lib/hocon/impl/tokenizer.rb
71
+ - lib/hocon/impl/tokens.rb
43
72
  - lib/hocon/impl/unmergeable.rb
44
- - lib/hocon/impl/config_impl_util.rb
45
- - lib/hocon/impl/simple_config_object.rb
46
- - lib/hocon/impl/simple_config_list.rb
47
- - lib/hocon/impl/config_impl.rb
48
- - lib/hocon/impl/config_concatenation.rb
49
- - lib/hocon/impl/abstract_config_value.rb
50
- - lib/hocon/impl/origin_type.rb
51
- - lib/hocon/config_factory.rb
52
- - lib/hocon/impl.rb
53
- - lib/hocon/config_parse_options.rb
54
- - lib/hocon/config_render_options.rb
55
- - lib/hocon/config_value_type.rb
56
- - lib/hocon/config_syntax.rb
57
- - LICENSE
58
- - README.md
59
73
  homepage: https://github.com/cprice404/ruby-hocon
60
74
  licenses:
61
75
  - Apache License, v2
76
+ metadata: {}
62
77
  post_install_message:
63
78
  rdoc_options: []
64
79
  require_paths:
65
80
  - lib
66
81
  required_ruby_version: !ruby/object:Gem::Requirement
67
- none: false
68
82
  requirements:
69
- - - ! '>='
83
+ - - ">="
70
84
  - !ruby/object:Gem::Version
71
85
  version: '0'
72
86
  required_rubygems_version: !ruby/object:Gem::Requirement
73
- none: false
74
87
  requirements:
75
- - - ! '>='
88
+ - - ">="
76
89
  - !ruby/object:Gem::Version
77
90
  version: '0'
78
91
  requirements: []
79
92
  rubyforge_project:
80
- rubygems_version: 1.8.25
93
+ rubygems_version: 2.2.2
81
94
  signing_key:
82
- specification_version: 3
95
+ specification_version: 4
83
96
  summary: HOCON Config Library
84
97
  test_files: []