Class: Linkage::Expectations::Filter
- Inherits:
-
Simple
show all
- Defined in:
- lib/linkage/expectations/simple.rb
Constant Summary
Constants inherited
from Simple
Simple::VALID_OPERATORS
Instance Attribute Summary
Attributes inherited from Simple
#meta_object_1, #meta_object_2, #operator, #side
Instance Method Summary
collapse
Methods inherited from Simple
create, #display_warnings, #exactly!, #initialize, #same_except_side?
Instance Method Details
#apply_to(dataset, side) ⇒ Object
102
103
104
105
106
107
108
|
# File 'lib/linkage/expectations/simple.rb', line 102
def apply_to(dataset, side)
if side != @side
return dataset
end
dataset.filter(self.to_expr)
end
|
#decollation_needed? ⇒ Boolean
110
111
112
|
# File 'lib/linkage/expectations/simple.rb', line 110
def decollation_needed?
false
end
|
#kind ⇒ Object
89
|
# File 'lib/linkage/expectations/simple.rb', line 89
def kind; :filter; end
|
#to_expr ⇒ Object
91
92
93
94
95
96
97
98
99
100
|
# File 'lib/linkage/expectations/simple.rb', line 91
def to_expr
case @operator
when :==, :'!='
expr = { @meta_object_1.to_expr => @meta_object_2.to_expr }
@operator == :== ? expr : ~expr
else
Sequel::SQL::BooleanExpression.new(@operator,
@meta_object_1.to_identifier, @meta_object_2.to_identifier)
end
end
|