A Ruby library that allows you to selectively mixin methods from a module
Ruby
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
examples
lib
test
CHANGES
MANIFEST
README
Rakefile
use.gemspec

README

== Description
  The 'use' library allows you to selectively mixin methods from a given
  module and alias them on the fly if desired.

== Prerequisites
  structured_warnings 0.1.1 or later
   
== Installation
  gem install use

== Synopsis
  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
   
== Constants
USE_VERSION
   The version of this library. This is a string.
   
== Notes
   In $VERBOSE mode this library will issue a MethodRedefinedWarning if you
   shadow an existing method. See the documentation for structured_warnings
   for more details.

== Acknowledgements
   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.

== Known Bugs
   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.
   
   If you find any bugs please log them on the project page at
   https://github.com/djberg96/use
   
== License
   Artistic 2.0

== Copyright
   (C) 2005-2014, Daniel J. Berger
   All Rights Reserved

== Author
   Daniel J. Berger