From 617fa702117e1afd8557bfc8d8627942deee80e2 Mon Sep 17 00:00:00 2001 From: ksss Date: Sun, 20 Apr 2014 13:06:25 +0900 Subject: String#casecmp should be call `to_str` when non String object sent And should be raise TypeError when can not responsed to `to_str` --- mrbgems/mruby-string-ext/mrblib/string.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'mrbgems/mruby-string-ext/mrblib') diff --git a/mrbgems/mruby-string-ext/mrblib/string.rb b/mrbgems/mruby-string-ext/mrblib/string.rb index a517aa209..45c631b94 100644 --- a/mrbgems/mruby-string-ext/mrblib/string.rb +++ b/mrbgems/mruby-string-ext/mrblib/string.rb @@ -47,7 +47,9 @@ class String # "abcdef".casecmp("ABCDEF") #=> 0 # def casecmp(str) - self.downcase <=> str.downcase + self.downcase <=> str.to_str.downcase + rescue NoMethodError + raise TypeError, "no implicit conversion of #{str.class} into String" end def partition(sep) -- cgit v1.2.3