# module Multiton::Inclusive

Multiton can be included in another module, in which case that module effectively becomes a multiton behavior distributor too. This is why we propogate included to the base module by putting it in another module.

### Private Instance Methods

included(base) click to toggle source

    # File lib/facets/multiton.rb, line 189
    def included(base)
      class << base
        ##alias_method(:new!, :new) unless method_defined?(:new!)
        ## gracefully handle multiple inclusions of Multiton
        unless include?(Multiton::MetaMethods)
          alias_method :new!, :new
          private :allocate #, :new
          include Multiton::MetaMethods

          if method_defined?(:marshal_dump)
            undef_method :marshal_dump
            warn "warning: marshal_dump was undefined since it is incompatible with the Multiton pattern"
          end
        end
      end
    end