Skip to content

Instantly share code, notes, and snippets.

@fiddyspence
Created May 27, 2015 13:16
Show Gist options
  • Save fiddyspence/fab50d8d44d63fc87da3 to your computer and use it in GitHub Desktop.
Save fiddyspence/fab50d8d44d63fc87da3 to your computer and use it in GitHub Desktop.
spenceware:~ fids$ irb
irb(main):001:0> require 'hocon/config_factory'
=> true
irb(main):002:0> Hocon
Hocon
irb(main):002:0> Hocon
Hocon
irb(main):002:0> Hocon::ConfigFactory.parse 'webserver: {
irb(main):003:0' access-log-config = /etc/puppetserver/request-logging.xml
irb(main):004:0' client-auth = want
irb(main):005:0' ssl-host = 0.0.0.0
irb(main):006:0' ssl-port = 8140
irb(main):007:0' }'
NoMethodError: undefined method `parse' for Hocon::ConfigFactory:Class
from (irb):2
from /Users/fids/.rbenv/versions/1.9.3-p545/bin/irb:12:in `<main>'
irb(main):008:0> Hocon::ConfigFactory.parse_
Hocon::ConfigFactory.parse_file Hocon::ConfigFactory.parse_file_any_syntax Hocon::ConfigFactory.parse_string
irb(main):008:0> Hocon::ConfigFactory.parse_
Hocon::ConfigFactory.parse_file Hocon::ConfigFactory.parse_file_any_syntax Hocon::ConfigFactory.parse_string
irb(main):008:0> Hocon::ConfigFactory.parse_
Hocon::ConfigFactory.parse_file Hocon::ConfigFactory.parse_file_any_syntax Hocon::ConfigFactory.parse_string
irb(main):008:0> Hocon::ConfigFactory.parse_string 'Hocon::ConfigFactory.parse'
Hocon::ConfigError::ConfigParseError: String: 1: Expecting a value but got wrong token: ':' (if you intended ':' to be part of a key or string value, try enclosing the key or value in double quotes
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/config_document_parser.rb:257:in `parse_value'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/config_document_parser.rb:420:in `parse_object'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/config_document_parser.rb:585:in `parse'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/config_document_parser.rb:38:in `parse'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/parseable.rb:248:in `raw_parse_value_from_io'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/parseable.rb:242:in `block in raw_parse_value'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/parseable.rb:373:in `block in open'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/parseable.rb:372:in `open'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/parseable.rb:372:in `open'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/parseable.rb:241:in `raw_parse_value'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/parseable.rb:177:in `parse_value_from_origin'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/parseable.rb:172:in `parse_value'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/impl/parseable.rb:147:in `parse'
from /Users/fids/.rbenv/versions/1.9.3-p545/lib/ruby/gems/1.9.1/gems/hocon-0.9.0/lib/hocon/config_factory.rb:15:in `parse_string'
from (irb):8
from /Users/fids/.rbenv/versions/1.9.3-p545/bin/irb:12:in `<main>'
irb(main):009:0> Hocon::ConfigFactory.parse_string 'webserver: {
irb(main):010:0' access-log-config = /etc/puppetserver/request-logging.xml
irb(main):011:0' client-auth = want
irb(main):012:0' ssl-host = 0.0.0.0
irb(main):013:0' ssl-port = 8140
irb(main):014:0' }'
=> #<Hocon::Impl::SimpleConfig:0x007feaeaa126d8 @object=SimpleConfigObject({"webserver":{"access-log-config":"/etc/puppetserver/request-logging.xml","client-auth":"want","ssl-host":"0.0.0.0","ssl-port":8140}})>
irb(main):015:0> Hocon::ConfigFactory.parse_string 'Hocon::ConfigFactory.parse'^C
irb(main):015:0> foo = Hocon::ConfigFactory.parse_string 'webserver: {
irb(main):016:0' access-log-config = /etc/puppetserver/request-logging.xml
irb(main):017:0' client-auth = want
irb(main):018:0' ssl-host = 0.0.0.0
irb(main):019:0' ssl-port = 8140
irb(main):020:0' }'
=> #<Hocon::Impl::SimpleConfig:0x007feaea3fd568 @object=SimpleConfigObject({"webserver":{"access-log-config":"/etc/puppetserver/request-logging.xml","client-auth":"want","ssl-host":"0.0.0.0","ssl-port":8140}})>
irb(main):021:0> foo
=> #<Hocon::Impl::SimpleConfig:0x007feaea3fd568 @object=SimpleConfigObject({"webserver":{"access-log-config":"/etc/puppetserver/request-logging.xml","client-auth":"want","ssl-host":"0.0.0.0","ssl-port":8140}})>
irb(main):022:0> foo.to_s
=> "#<Hocon::Impl::SimpleConfig:0x007feaea3fd568>"
irb(main):023:0> foo.to_s
=> "#<Hocon::Impl::SimpleConfig:0x007feaea3fd568>"
irb(main):024:0> foo.inspect
=> "#<Hocon::Impl::SimpleConfig:0x007feaea3fd568 @object=SimpleConfigObject({\"webserver\":{\"access-log-config\":\"/etc/puppetserver/request-logging.xml\",\"client-auth\":\"want\",\"ssl-host\":\"0.0.0.0\",\"ssl-port\":8140}})>"
irb(main):025:0> foo['webserver']
NoMethodError: undefined method `[]' for #<Hocon::Impl::SimpleConfig:0x007feaea3fd568>
from (irb):25
from /Users/fids/.rbenv/versions/1.9.3-p545/bin/irb:12:in `<main>'
irb(main):026:0> doc.render
NameError: undefined local variable or method `doc' for main:Object
from (irb):26
from /Users/fids/.rbenv/versions/1.9.3-p545/bin/irb:12:in `<main>'
irb(main):027:0> foo.render
NoMethodError: undefined method `render' for #<Hocon::Impl::SimpleConfig:0x007feaea3fd568>
from (irb):27
from /Users/fids/.rbenv/versions/1.9.3-p545/bin/irb:12:in `<main>'
irb(main):028:0> foo.root.unwrapped
=> {"webserver"=>{"access-log-config"=>"/etc/puppetserver/request-logging.xml", "client-auth"=>"want", "ssl-host"=>"0.0.0.0", "ssl-port"=>8140}}
irb(main):029:0> foo.root.unwrapped.to_s
=> "{\"webserver\"=>{\"access-log-config\"=>\"/etc/puppetserver/request-logging.xml\", \"client-auth\"=>\"want\", \"ssl-host\"=>\"0.0.0.0\", \"ssl-port\"=>8140}}"
irb(main):030:0> foo.root.unwrapped.to_s
=> "{\"webserver\"=>{\"access-log-config\"=>\"/etc/puppetserver/request-logging.xml\", \"client-auth\"=>\"want\", \"ssl-host\"=>\"0.0.0.0\", \"ssl-port\"=>8140}}"
irb(main):031:0> foo.root.unwrapped.to_s
=> "{\"webserver\"=>{\"access-log-config\"=>\"/etc/puppetserver/request-logging.xml\", \"client-auth\"=>\"want\", \"ssl-host\"=>\"0.0.0.0\", \"ssl-port\"=>8140}}"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment