Sha256: 19f237d17c341d44a454c97309e17dc072c75a109a67f1572b58535a37ef0557
Contents?: true
Size: 889 Bytes
Versions: 1
Compression:
Stored size: 889 Bytes
Contents
module Leap class Decision attr_reader :goal, :signature_method, :committees, :minutes def initialize(goal, options) @goal = goal @signature_method = options[:with] || {} @committees = [] end def make(characteristics, *considerations) committees.reject { |c| characteristics.keys.include? c.name }.reverse.inject(Deliberation.new(characteristics)) do |deliberation, committee| if report = committee.report(deliberation.characteristics, considerations) deliberation.reports.unshift report deliberation.characteristics[committee.name] = report.conclusion end deliberation end end include ::Blockenspiel::DSL def committee(name, &blk) committee = ::Leap::Committee.new(name) @committees << committee ::Blockenspiel.invoke blk, committee end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
leap-0.3.3 | lib/leap/decision.rb |