Sha256: 23e663ef0858e5ad1043395ee518ef7576d243639e5b5f68cae9411898e86ad9
Contents?: true
Size: 1.78 KB
Versions: 2
Compression:
Stored size: 1.78 KB
Contents
module Veritas module Logic class Predicate # A predicate representing an inequality test between operands class Inequality < Predicate include Comparable # Return the Inequality operation # # @example # Inequality.operation # => :!= # # @return [Symbol] # # @api public def self.operation :'!=' end # Return the inverse predicate class # # @example # Inequality.inverse # => Equality # # @return [Class<Equality>] # # @api public def self.inverse Equality end # Return the reverse predicate class # # @example # Inequality.reverse # => Inequality # # @return [self] # # @api public def self.reverse self end # Evaluate the values for inequality # # @example # Inequality.call(left, right) # => true or false # # @param [Object] left # @param [Object] right # # @return [Boolean] # # @api public def self.call(left, right) left != right end unless Object.method_defined?(operation) module Methods # Compare the left to see if it is not equal to the right # # @example # inequality = expression.ne(other) # # @param [Expression] other # # @return [Inequality] # # @api public def ne(other) Inequality.new(self, other) end end # module Methods end # class Inequality end # class Predicate end # module Algebra end # module Veritas
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
veritas-0.0.3 | lib/veritas/logic/predicate/inequality.rb |
veritas-0.0.2 | lib/veritas/logic/predicate/inequality.rb |