Class: Greedy::DCI::Role

Inherits:
Object
  • Object
show all
Defined in:
lib/greedy/dci/role.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(obj) ⇒ Role

Returns a new instance of Role.



4
5
6
# File 'lib/greedy/dci/role.rb', line 4

def initialize(obj)
  @obj = obj
end

Class Method Details

.to_procObject



13
14
15
# File 'lib/greedy/dci/role.rb', line 13

def self.to_proc
  method(:new).to_proc
end

Instance Method Details

#as(responsibility) ⇒ Object



8
9
10
11
# File 'lib/greedy/dci/role.rb', line 8

def as(responsibility)
  type = @obj.singleton_class
  Module.new { refine(type) { prepend responsibility } }
end