summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-symbol-ext/mrblib
diff options
context:
space:
mode:
authorksss <[email protected]>2014-04-20 13:37:29 +0900
committerksss <[email protected]>2014-04-20 13:43:59 +0900
commitbb52324bd95628b75925693340577d4390a2c564 (patch)
treeb503d966f0bb4042a090577db9d5a5648f23178b /mrbgems/mruby-symbol-ext/mrblib
parent44cc51fef7b68f2b93a5c51d4da9778ca43fa80e (diff)
downloadmruby-bb52324bd95628b75925693340577d4390a2c564.tar.gz
mruby-bb52324bd95628b75925693340577d4390a2c564.zip
Implement Symbol#casecmp
Diffstat (limited to 'mrbgems/mruby-symbol-ext/mrblib')
-rw-r--r--mrbgems/mruby-symbol-ext/mrblib/symbol.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/mrbgems/mruby-symbol-ext/mrblib/symbol.rb b/mrbgems/mruby-symbol-ext/mrblib/symbol.rb
index 78edf3cad..e38ee468d 100644
--- a/mrbgems/mruby-symbol-ext/mrblib/symbol.rb
+++ b/mrbgems/mruby-symbol-ext/mrblib/symbol.rb
@@ -47,6 +47,17 @@ class Symbol
self.to_s.upcase.intern
end
+ ##
+ # call-seq:
+ # sym.casecmp(other) -> -1, 0, +1 or nil
+ #
+ # Case-insensitive version of <code>Symbol#<=></code>.
+
+ def casecmp(other)
+ return nil unless other.kind_of?(Symbol)
+ self.to_s.upcase <=> other.to_s.upcase
+ end
+
#
# call-seq:
# sym.empty? -> true or false