Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Mst
- def self.included(base)
- base.extend(ClassMethods)
- end
- module ClassMethods
- def before(method_name)
- m = instance_method(method_name)
- define_method method_name do |*args, &block|
- yield
- m.bind(self).(*args, &block)
- end
- end
- end
- end
- class Foo
- include Mst
- def test
- puts "test"
- end
- before :test do
- puts "before"
- end
- end
- Foo.new.test
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement