From fcbf63e62c627deae76c1b8cb8c0876c536ed811 Mon Sep 17 00:00:00 2001 From: Jari Vetoniemi Date: Mon, 16 Mar 2020 18:49:26 +0900 Subject: Fresh start --- jni/ruby/lib/rubygems/psych_tree.rb | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 jni/ruby/lib/rubygems/psych_tree.rb (limited to 'jni/ruby/lib/rubygems/psych_tree.rb') diff --git a/jni/ruby/lib/rubygems/psych_tree.rb b/jni/ruby/lib/rubygems/psych_tree.rb new file mode 100644 index 0000000..e3f1d1a --- /dev/null +++ b/jni/ruby/lib/rubygems/psych_tree.rb @@ -0,0 +1,31 @@ +module Gem + if defined? ::Psych::Visitors + class NoAliasYAMLTree < Psych::Visitors::YAMLTree + def self.create + new({}) + end unless respond_to? :create + + def visit_String(str) + return super unless str == '=' # or whatever you want + + quote = Psych::Nodes::Scalar::SINGLE_QUOTED + @emitter.scalar str, nil, nil, false, true, quote + end + + # Noop this out so there are no anchors + def register(target, obj) + end + + # This is ported over from the yaml_tree in 1.9.3 + def format_time time + if time.utc? + time.strftime("%Y-%m-%d %H:%M:%S.%9N Z") + else + time.strftime("%Y-%m-%d %H:%M:%S.%9N %:z") + end + end + + private :format_time + end + end +end -- cgit v1.2.3