Please do not confuse "use" with "using". This library was written before refinements existed in Ruby, and it is largely obviated by that feature now. Consequently I have archived this repository as I don't see a compelling case for its usage any longer.
The 'use' library allows you to selectively mixin methods from a given module and alias them on the fly if desired.
structured_warnings 0.3.0 or later
gem install use
require 'use'
module Foo
def bar
puts "hello"
end
def baz
puts "world"
end
end
module Test
def bar
puts "goodbye"
end
def blah
puts "new york"
end
end
class Zap
use Foo, :bar
use Test, :blah
end
z = Zap.new
z.bar # => "hello"
z.blah # => "new york"
z.baz # => NoMethodError
# Using the new keywords
class MyKlass
use Foo, :alias => {:bar => :test}
end
m = MyKlass.new
m.test # => "hello"
m.bar # => NoMethodError
USE_VERSION
The version of this library. This is a string.
In $VERBOSE
mode this library will issue a MethodRedefinedWarning
if you
shadow an existing method. See the documentation for structured_warnings
for more details.
Thanks go to Ara Howard for providing the original solution and to Mauricio Fernandez, whose blog I plagiarized (and with whom I communicated) in order to implement fine-grained mixins.
Some versions of Ruby 1.9.x may emit a warning in verbose mode. This is a bug in Ruby 1.9.x and can be ignored. I seriously hope you aren't using Ruby 1.9 at this point.
mixology at https://github.com/dan-manges/mixology
None. Please see the Notice at the top.
Apache-2.0
(C) 2005-2019, Daniel J. Berger All Rights Reserved
Daniel J. Berger