diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2017-06-29 15:09:48 -0700 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2017-06-29 15:09:48 -0700 |
commit | 0ca2d343735444d83a0dd733b52b2893c5084546 (patch) | |
tree | 30d339bd77947bc9454b67103aaafbd2ec35b537 /lib/psych/visitors/yaml_tree.rb | |
parent | 8949a47b8cee31e03e21608406ba116adcf74054 (diff) | |
download | psych-0ca2d343735444d83a0dd733b52b2893c5084546.zip |
Support enumerator objects
Fixes #277
Diffstat (limited to 'lib/psych/visitors/yaml_tree.rb')
-rw-r--r-- | lib/psych/visitors/yaml_tree.rb | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/psych/visitors/yaml_tree.rb b/lib/psych/visitors/yaml_tree.rb index 03fdc8b..22ccf3d 100644 --- a/lib/psych/visitors/yaml_tree.rb +++ b/lib/psych/visitors/yaml_tree.rb @@ -378,14 +378,18 @@ module Psych def visit_Array o if o.class == ::Array - register o, @emitter.start_sequence(nil, nil, true, Nodes::Sequence::BLOCK) - o.each { |c| accept c } - @emitter.end_sequence + visit_Enumerator o else visit_array_subclass o end end + def visit_Enumerator o + register o, @emitter.start_sequence(nil, nil, true, Nodes::Sequence::BLOCK) + o.each { |c| accept c } + @emitter.end_sequence + end + def visit_NilClass o @emitter.scalar('', nil, 'tag:yaml.org,2002:null', true, false, Nodes::Scalar::ANY) end |