Sha256: afc5f31ac9b90d5f06bfb03fc7402a7c35878d4198bed31fead9bc07b4041f9a
Contents?: true
Size: 957 Bytes
Versions: 3
Compression:
Stored size: 957 Bytes
Contents
module Pione module Model class Constraints class << self # Return the empty constraints. # # @return [Constraints] # empty constraints def empty new([]) end end attr_reader :exprs # @param exprs [Array<BasicModel>] # constraint expressions def initialize(exprs) @exprs = exprs end # Return true if constraints satisfied. # # @param vtable [VariableTable] # variable table # @return [Boolean] # true if constraints satisfied def satisfy?(vtable) @exprs.all? do |expr| res = expr.eval(vtable) res.kind_of?(BooleanSequence) and res.value end end def ==(other) return false unless other.kind_of?(self.class) @exprs == other.exprs end alias :eql? :"==" def hash @exprs.hash end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pione-0.2.2 | lib/pione/model/constraints.rb |
pione-0.2.1 | lib/pione/model/constraints.rb |
pione-0.2.0 | lib/pione/model/constraints.rb |