summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-string-ext/mrblib
diff options
context:
space:
mode:
authorksss <[email protected]>2014-04-20 13:06:25 +0900
committerksss <[email protected]>2014-04-20 13:25:07 +0900
commit617fa702117e1afd8557bfc8d8627942deee80e2 (patch)
treeadc32f4f4fb665b37113ec797e98e61170ea11ec /mrbgems/mruby-string-ext/mrblib
parent44cc51fef7b68f2b93a5c51d4da9778ca43fa80e (diff)
downloadmruby-617fa702117e1afd8557bfc8d8627942deee80e2.tar.gz
mruby-617fa702117e1afd8557bfc8d8627942deee80e2.zip
String#casecmp should be call `to_str`
when non String object sent And should be raise TypeError when can not responsed to `to_str`
Diffstat (limited to 'mrbgems/mruby-string-ext/mrblib')
-rw-r--r--mrbgems/mruby-string-ext/mrblib/string.rb4
1 files changed, 3 insertions, 1 deletions
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)