Module: Leap::Subject
- Defined in:
- lib/leap/subject.rb
Instance Attribute Summary collapse
-
#decisions ⇒ Object
readonly
Returns the value of attribute decisions.
Class Method Summary collapse
Instance Method Summary collapse
Instance Attribute Details
#decisions ⇒ Object (readonly)
Returns the value of attribute decisions.
7 8 9 |
# File 'lib/leap/subject.rb', line 7 def decisions @decisions end |
Class Method Details
.extended(base) ⇒ Object
3 4 5 6 |
# File 'lib/leap/subject.rb', line 3 def self.extended(base) base.instance_variable_set :@decisions, {} base.send :attr_reader, :deliberations end |
Instance Method Details
#decide(goal, options = {}, &blk) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/leap/subject.rb', line 8 def decide(goal, = {}, &blk) decisions[goal] = ::Leap::Decision.new goal, Blockenspiel.invoke(blk, decisions[goal]) define_method goal do |*considerations| @deliberations ||= {} @deliberations[goal] = self.class.decisions[goal].make send(self.class.decisions[goal].signature_method), *considerations @deliberations[goal][goal] end end |