Module: Bmg::TupleAlgebra

Defined in:
lib/bmg/support/tuple_algebra.rb

Class Method Summary collapse

Class Method Details

.allbut(tuple, butlist) ⇒ Object



4
5
6
# File 'lib/bmg/support/tuple_algebra.rb', line 4

def allbut(tuple, butlist)
  tuple.reject{|k,v| butlist.include?(k) }
end

.project(tuple, attrlist) ⇒ Object



9
10
11
# File 'lib/bmg/support/tuple_algebra.rb', line 9

def project(tuple, attrlist)
  tuple.reject{|k,v| !attrlist.include?(k) }
end

.rename(tuple, renaming) ⇒ Object



14
15
16
17
18
19
# File 'lib/bmg/support/tuple_algebra.rb', line 14

def rename(tuple, renaming)
  tuple.each_with_object({}){|(k,v),m|
    m[renaming[k] || k] = v
    m
  }
end