module_chain_method¶ ↑
Module::ChainMethod mixin to simplify method chain aliasing.
Example¶ ↑
require 'module/chain_method' # Module::ChainMethod module MyMixin def self.included target super $stderr.puts "MyMixin.included #{target} end include ::Module::ChainMethod def foo puts "MyMixin#foo" foo_without_MyMixin end def bar puts "MyMixin#bar" end # Prepares method #foo for chaining. chain_method :foo end class Foo def foo puts "Foo#foo" end def bar puts "Foo#bar" super rescue nil end end f = Foo.new f.foo f.bar puts Foo.send(:include, MyMixin) f.foo f.bar
Generates the following output:
> ruby -I lib example/ex01.rb Foo#foo Foo#bar MyMixin.included Foo MyMixin#foo Foo#foo Foo#bar MyMixin#bar
Note on Patches/Pull Requests¶ ↑
-
Fork the project.
-
Make your feature addition or bug fix.
-
Add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
-
Send me a pull request. Bonus points for topic branches.
Copyright¶ ↑
Copyright © 2010 Kurt Stephens. See LICENSE for details.