Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
A pure ruby solution for unmixing modules.
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
rake_tasks
spec
.gitignore
BUGS.rdoc
GPL_LICENSE
MIT_LICENSE
README.rdoc
Rakefile
VERSION
mix_master.gemspec

README.rdoc

MixMaster

A pure ruby solution for mixing & unmix modules from classes.

module Foo
  def foo
    'foo'
  end
end

class Baz
  mixin Foo
end

b = Baz.new
=> #<Baz:0x6aa48c>
b.foo
=> "foo"

Baz.mixout Foo
=> [Foo]

Baz.new.foo
NoMethodError: undefined method `foo' for #<Baz:0x69a640>
	from (irb):30
b.foo
NoMethodError: undefined method `foo' for #<Baz:0x6aa48c>
	from (irb):31

Inspiration

Both _why's and Dan Manges' libraries (mixico and mixology) have been of great inspiration.

Something went wrong with that request. Please try again.