Module: Xon
- Defined in:
- lib/xon.rb
Defined Under Namespace
Classes: ParserError
Constant Summary collapse
- VERSION =
'0.1.1'.freeze
- PREAMBLE =
'!:'.freeze
Class Method Summary collapse
- .generate(data) ⇒ Object (also: dump)
- .parse(str) ⇒ Object (also: load)
Class Method Details
.generate(data) ⇒ Object Also known as: dump
24 25 26 27 28 29 30 31 |
# File 'lib/xon.rb', line 24 def generate(data) init! if special?(data) PREAMBLE + JSON.generate(encode(data)) else JSON.generate(data) end end |
.parse(str) ⇒ Object Also known as: load
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/xon.rb', line 13 def parse(str) init! if str.is_a?(String) && str.start_with?(PREAMBLE) decode(JSON.parse(str[PREAMBLE.length..-1])) else JSON.parse(str) end rescue JSON::ParserError => e raise ParserError.new(e.) end |