lib/bmg/algebra.rb in bmg-0.18.5 vs lib/bmg/algebra.rb in bmg-0.18.6
- old
+ new
@@ -181,18 +181,36 @@
def _transform(type, transformation, options)
Operator::Transform.new(type, self, transformation, options)
end
protected :_transform
+ def ungroup(attrs)
+ _ungroup self.type.ungroup(attrs), attrs
+ end
+
+ def _ungroup(type, attrs)
+ Operator::Ungroup.new(type, self, attrs)
+ end
+ protected :_ungroup
+
def union(other, options = {})
return self if other.is_a?(Relation::Empty)
_union self.type.union(other.type), other, options
end
def _union(type, other, options)
Operator::Union.new(type, [self, other], options)
end
protected :_union
+
+ def unwrap(attrs)
+ _unwrap self.type.unwrap(attrs), attrs
+ end
+
+ def _unwrap(type, attrs)
+ Operator::Unwrap.new(type, self, attrs)
+ end
+ protected :_unwrap
def spied(spy)
return self if spy.nil?
Relation::Spied.new(self, spy)
end