Sha256: d2565d2d9fd9470676b344f37cd8f41001daf3c254c4fb3037bdc090822bba29
Contents?: true
Size: 753 Bytes
Versions: 1
Compression:
Stored size: 753 Bytes
Contents
module Beambridge class StaticCondition < Condition attr_accessor :value def initialize(value) if value.is_a?(Array) self.value = value.map do |v| Condition.for(v) end else self.value = value end end def satisfies?(arg) if value.is_a?(Array) return false unless arg.is_a?(Array) return false if value.length != arg.length value.zip(arg).all? do |l, r| l.respond_to?(:satisfies?) ? l.satisfies?(r) : l.eql?(r) end else arg.eql?(value) end end def binding_for(arg) if value.is_a?(Array) value.zip(arg).map { |l, r| l.binding_for(r) }.compact else nil end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
beambridge-0.9.0 | lib/beambridge/conditions/static.rb |