Class: ASIR::Coder::Yaml
- Inherits:
-
ASIR::Coder
- Object
- ASIR::Coder
- ASIR::Coder::Yaml
- Defined in:
- lib/asir/coder/yaml.rb
Overview
!SLIDE YAML Coder Use YAML for encode/decode.
Instance Attribute Summary
Attributes included from Log
Instance Method Summary collapse
Methods inherited from ASIR::Coder
#_subclass_responsibility, #decode, #encode
Methods included from Log
#_log, #_log_enabled=, #_log_enabled?, #_log_format, #_log_result, enabled, enabled=, included
Methods included from Initialization
Instance Method Details
#_decode(obj) ⇒ Object
22 23 24 25 26 27 28 29 |
# File 'lib/asir/coder/yaml.rb', line 22 def _decode obj case obj = ::YAML::load(obj) when Message, Result obj.decode_more! else obj end end |
#_encode(obj) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/asir/coder/yaml.rb', line 9 def _encode obj case obj when Message, Result obj = obj.encode_more! end ::YAML::dump(obj) rescue ::Exception require 'pp' msg = "#{self}: failed to encode: #{$!.inspect}:\n #{PP.pp(obj, '')}" $stderr.puts msg raise Error, msg end |