Module: Schizo::Role

Defined in:
lib/schizo/role.rb

Overview

Extend a module with Role to make that module a role.

module RoleA
  extend Schizo::Role

  def method_a
  end

  def method_b
  end
end

Instance Method Summary collapse

Instance Method Details

#extended(object = nil, &block) ⇒ Object

call-seq:

extended{ ... }

Call this method with a block and that block will be evaled by the Data object’s class when the Data object is adorned with this role.

module Poster
  extend Schizo::Role

  extended do
    has_many :posts
  end
end

User.new.as(Poster).do |poster|
  poster.posts.create :title => "My first post!"
end


31
32
33
34
35
36
37
# File 'lib/schizo/role.rb', line 31

def extended(object = nil, &block)
  if block_given?
    @extended_block = block
  else
    super
  end
end

#extended_blockObject

:nodoc:



39
40
41
# File 'lib/schizo/role.rb', line 39

def extended_block #:nodoc:
  @extended_block
end