= Instantiable

Require the library.

  require 'facets/instantiable'

We will use this module as an example.

  module M
    include Instantiable

    attr :a

    def initialize(a)
      @a = a
    end
  end

As we can see M is now fully instantiable, as any
class would be.

    m = M.new(1)
    m.a.assert == 1

We can also use #extend rather than #include and
get the same result.

  module N
    extend Instantiable

    attr :a

    def initialize( a )
      @a = a
    end
  end

As we saw with +M+ so too with +N+.

  n = N.new( 1 )
  n.a.assert == 1

