Sha256: 6b81bc68a9ff0386d752ec250c164dad7d209203829486dc859e3884494f609e
Contents?: true
Size: 946 Bytes
Versions: 2
Compression:
Stored size: 946 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) options = considerations.extract_options! committees.reject { |c| characteristics.keys.include? c.name }.reverse.inject(Deliberation.new(characteristics)) do |deliberation, committee| if report = committee.report(deliberation.characteristics, considerations, options) 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
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
leap-0.4.1 | lib/leap/decision.rb |
leap-0.4.0 | lib/leap/decision.rb |