diff options
Diffstat (limited to 'mrbgems/mruby-method/mrblib')
| -rw-r--r-- | mrbgems/mruby-method/mrblib/kernel.rb | 2 | ||||
| -rw-r--r-- | mrbgems/mruby-method/mrblib/method.rb | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/mrbgems/mruby-method/mrblib/kernel.rb b/mrbgems/mruby-method/mrblib/kernel.rb index 2efc93f37..eb17df5a6 100644 --- a/mrbgems/mruby-method/mrblib/kernel.rb +++ b/mrbgems/mruby-method/mrblib/kernel.rb @@ -3,7 +3,7 @@ module Kernel m = method(name) sc = (class <<self; self; end) if m.owner != sc - raise NameError, "undefined method `#{name}' for class `#{sc}'" + raise NameError, "undefined method '#{name}' for class '#{sc}'" end m end diff --git a/mrbgems/mruby-method/mrblib/method.rb b/mrbgems/mruby-method/mrblib/method.rb index 5de0afdf7..f7cefa2e5 100644 --- a/mrbgems/mruby-method/mrblib/method.rb +++ b/mrbgems/mruby-method/mrblib/method.rb @@ -17,4 +17,12 @@ class Method def name @name end + + def <<(other) + ->(*args, &block) { call(other.call(*args, &block)) } + end + + def >>(other) + ->(*args, &block) { other.call(call(*args, &block)) } + end end |
