mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/psych/lib/psych/json/yaml_events.rb: refactoring JSON event
handling methods to a module for reuse. * ext/psych/lib/psych/json/tree_builder.rb: AST builder uses JSON event methods. * ext/psych/lib/psych/json/stream.rb: stream emitter uses JSON event methods. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
6f37c467d4
commit
8b5a3b7d39
4 changed files with 43 additions and 42 deletions
|
@ -1,3 +1,12 @@
|
|||
Mon Feb 21 10:58:39 2011 Aaron Patterson <aaron@tenderlovemaking.com>
|
||||
|
||||
* ext/psych/lib/psych/json/yaml_events.rb: refactoring JSON event
|
||||
handling methods to a module for reuse.
|
||||
* ext/psych/lib/psych/json/tree_builder.rb: AST builder uses JSON
|
||||
event methods.
|
||||
* ext/psych/lib/psych/json/stream.rb: stream emitter uses JSON event
|
||||
methods.
|
||||
|
||||
Mon Feb 21 10:54:29 2011 Aaron Patterson <aaron@tenderlovemaking.com>
|
||||
|
||||
* ext/psych/lib/psych/json/stream.rb: do not emit custom tags in maps
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
require 'psych/json/ruby_events'
|
||||
require 'psych/json/yaml_events'
|
||||
|
||||
module Psych
|
||||
module JSON
|
||||
|
@ -6,25 +7,7 @@ module Psych
|
|||
include Psych::JSON::RubyEvents
|
||||
|
||||
class Emitter < Psych::Stream::Emitter # :nodoc:
|
||||
def start_document version, tag_directives, implicit
|
||||
super(version, tag_directives, !streaming?)
|
||||
end
|
||||
|
||||
def start_mapping anchor, tag, implicit, style
|
||||
super(anchor, nil, implicit, Nodes::Mapping::FLOW)
|
||||
end
|
||||
|
||||
def start_sequence anchor, tag, implicit, style
|
||||
super(anchor, nil, implicit, Nodes::Sequence::FLOW)
|
||||
end
|
||||
|
||||
def scalar value, anchor, tag, plain, quoted, style
|
||||
if "tag:yaml.org,2002:null" == tag
|
||||
super('null', nil, nil, true, false, Nodes::Scalar::PLAIN)
|
||||
else
|
||||
super
|
||||
end
|
||||
end
|
||||
include Psych::JSON::YAMLEvents
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,32 +1,12 @@
|
|||
require 'psych/json/yaml_events'
|
||||
|
||||
module Psych
|
||||
module JSON
|
||||
###
|
||||
# Psych::JSON::TreeBuilder is an event based AST builder. Events are sent
|
||||
# to an instance of Psych::JSON::TreeBuilder and a JSON AST is constructed.
|
||||
class TreeBuilder < Psych::TreeBuilder
|
||||
def start_document version, tag_directives, implicit
|
||||
super(version, tag_directives, !streaming?)
|
||||
end
|
||||
|
||||
def end_document implicit_end = !streaming?
|
||||
super(implicit_end)
|
||||
end
|
||||
|
||||
def start_mapping anchor, tag, implicit, style
|
||||
super(anchor, nil, implicit, Nodes::Mapping::FLOW)
|
||||
end
|
||||
|
||||
def start_sequence anchor, tag, implicit, style
|
||||
super(anchor, nil, implicit, Nodes::Sequence::FLOW)
|
||||
end
|
||||
|
||||
def scalar value, anchor, tag, plain, quoted, style
|
||||
if "tag:yaml.org,2002:null" == tag
|
||||
super('null', nil, nil, true, false, Nodes::Scalar::PLAIN)
|
||||
else
|
||||
super
|
||||
end
|
||||
end
|
||||
include Psych::JSON::YAMLEvents
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
29
ext/psych/lib/psych/json/yaml_events.rb
Normal file
29
ext/psych/lib/psych/json/yaml_events.rb
Normal file
|
@ -0,0 +1,29 @@
|
|||
module Psych
|
||||
module JSON
|
||||
module YAMLEvents # :nodoc:
|
||||
def start_document version, tag_directives, implicit
|
||||
super(version, tag_directives, !streaming?)
|
||||
end
|
||||
|
||||
def end_document implicit_end = !streaming?
|
||||
super(implicit_end)
|
||||
end
|
||||
|
||||
def start_mapping anchor, tag, implicit, style
|
||||
super(anchor, nil, implicit, Nodes::Mapping::FLOW)
|
||||
end
|
||||
|
||||
def start_sequence anchor, tag, implicit, style
|
||||
super(anchor, nil, implicit, Nodes::Sequence::FLOW)
|
||||
end
|
||||
|
||||
def scalar value, anchor, tag, plain, quoted, style
|
||||
if "tag:yaml.org,2002:null" == tag
|
||||
super('null', nil, nil, true, false, Nodes::Scalar::PLAIN)
|
||||
else
|
||||
super
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
Loading…
Add table
Reference in a new issue