module DCI::Role::ModuleMethods

Public Instance Methods

extended_singleton_class_eval(&block) click to toggle source
# File lib/role.rb, line 8
def extended_singleton_class_eval(&block)
  singleton_class_for(self).instance_eval do
    define_method("extended") do |obj|
      singleton_class_for(obj).instance_eval(&block)
    end
  end
end

Private Instance Methods

singleton_class_for(obj) click to toggle source
# File lib/role.rb, line 17
def singleton_class_for(obj)
  if obj.respond_to?(:singleton_class)
    obj.singleton_class
  else
    class << obj; self; end
  end
end