* ext/psych/lib/psych/deprecated.rb: adding deprecated "read_type_class"
method * test/psych/test_deprecated.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
4d4038f575
commit
ad3c1061a7
@ -56,6 +56,16 @@ module Psych
|
||||
return thing unless String === thing
|
||||
"tag:yaml.org,2002:#{thing}"
|
||||
end
|
||||
|
||||
def self.read_type_class type, reference
|
||||
warn "#{caller[0]}: read_type_class is deprecated" if $VERBOSE
|
||||
_, _, type, name = type.split ':', 4
|
||||
|
||||
reference = name.split('::').inject(reference) do |k,n|
|
||||
k.const_get(n.to_sym)
|
||||
end if name
|
||||
[type, reference]
|
||||
end
|
||||
end
|
||||
|
||||
class Object
|
||||
|
@ -187,5 +187,17 @@ module Psych
|
||||
assert_equal Psych, Psych.tagurize(Psych)
|
||||
assert_equal 'tag:yaml.org,2002:foo', Psych.tagurize('foo')
|
||||
end
|
||||
|
||||
def test_read_type_class
|
||||
things = Psych.read_type_class 'tag:yaml.org,2002:int:Psych::TestDeprecated::QuickEmitter', Object
|
||||
assert_equal 'int', things.first
|
||||
assert_equal Psych::TestDeprecated::QuickEmitter, things.last
|
||||
end
|
||||
|
||||
def test_read_type_class_no_class
|
||||
things = Psych.read_type_class 'tag:yaml.org,2002:int', Object
|
||||
assert_equal 'int', things.first
|
||||
assert_equal Object, things.last
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user