summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-04-24 19:58:34 +0000
committertenderlove <tenderlove@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-04-24 19:58:34 +0000
commitb57db764b0856ddae30deed32a104c4016f0ffae (patch)
tree164b0d5823e086607a51793623a8d01e3b2d661e
parent9ac224eb2699d528f7c3544861f02a5255605f4f (diff)
* ext/psych/lib/psych/deprecated.rb: supporting detect_implicit method
* test/psych/test_deprecated.rb: ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27478 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ext/psych/lib/psych.rb1
-rw-r--r--ext/psych/lib/psych/deprecated.rb6
-rw-r--r--test/psych/test_deprecated.rb8
3 files changed, 14 insertions, 1 deletions
diff --git a/ext/psych/lib/psych.rb b/ext/psych/lib/psych.rb
index 16602ef221..a582f56eb1 100644
--- a/ext/psych/lib/psych.rb
+++ b/ext/psych/lib/psych.rb
@@ -241,6 +241,5 @@ module Psych
attr_accessor :dump_tags
attr_accessor :domain_types
end
-
# :startdoc:
end
diff --git a/ext/psych/lib/psych/deprecated.rb b/ext/psych/lib/psych/deprecated.rb
index 093f145302..fdff46845d 100644
--- a/ext/psych/lib/psych/deprecated.rb
+++ b/ext/psych/lib/psych/deprecated.rb
@@ -30,6 +30,12 @@ module Psych
list.each(&block)
end
+ def self.detect_implicit thing
+ warn "#{caller[0]}: detect_implicit is deprecated" if $VERBOSE
+ return '' unless String === thing
+ return 'null' if '' == thing
+ ScalarScanner.new.tokenize(thing).class.name.downcase
+ end
end
class Object
diff --git a/test/psych/test_deprecated.rb b/test/psych/test_deprecated.rb
index c93b36ed44..f5ff79b56d 100644
--- a/test/psych/test_deprecated.rb
+++ b/test/psych/test_deprecated.rb
@@ -163,5 +163,13 @@ module Psych
assert_equal [["tag:ruby.yaml.org,2002:foo", "bar"]], types
end
+
+ def test_detect_implicit
+ assert_equal '', Psych.detect_implicit(nil)
+ assert_equal '', Psych.detect_implicit(Object.new)
+ assert_equal '', Psych.detect_implicit(1.2)
+ assert_equal 'null', Psych.detect_implicit('')
+ assert_equal 'string', Psych.detect_implicit('foo')
+ end
end
end