Sha256: e3d0b048186a9056f85837633c39cf98893fb400ba1c0ba224a7adb27dd7ec23
Contents?: true
Size: 940 Bytes
Versions: 1
Compression:
Stored size: 940 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
leap-0.4.2 | lib/leap/decision.rb |