Sha256: 7807a2b8c805f0ea3456c263e4ec9b5350a5fea8b45202b555f07a3b7f0e9626
Contents?: true
Size: 580 Bytes
Versions: 1
Compression:
Stored size: 580 Bytes
Contents
module Leap module Subject def self.extended(base) base.instance_variable_set :@decisions, {} base.send :attr_reader, :minutes end attr_reader :decisions def decide(goal, options = {}, &blk) decisions[goal] = ::Leap::Decision.new goal, options Blockenspiel.invoke(blk, decisions[goal]) define_method goal do |*considerations| @minutes ||= {} @minutes[goal] = self.class.decisions[goal].make(send(self.class.decisions[goal].signature_method), *considerations) @minutes[goal][goal] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
leap-0.2.6 | lib/leap/subject.rb |