Sha256: 0e8d180ebfb8870798e3f1f76b99411dd5d3b98fc73d08600ea9382cbe99fb5e
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
module Veritas module Algebra # The difference between relations class Difference < Relation include Relation::Operation::Set # Iterate over each tuple in the set # # @example # difference = Difference.new(left, right) # difference.each { |tuple| ... } # # @yield [tuple] # # @yieldparam [Tuple] tuple # each tuple in the set # # @return [self] # # @api public def each right_set = right.to_set left.each { |tuple| yield(tuple) unless right_set.include?(tuple) } self end module Methods extend Aliasable inheritable_alias(:- => :difference) # Return the difference between relations # # @example # difference = relation.difference(other) # # @param [Relation] other # # @return [Difference] # # @api public def difference(other) Difference.new(self, other) end end # module Methods Relation.class_eval { include Methods } end # class Difference end # module Algebra end # module Veritas
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
veritas-0.0.2 | lib/veritas/algebra/difference.rb |
veritas-0.0.1 | lib/veritas/algebra/difference.rb |