Class: YADM::CriteriaParser::Criteria
Instance Attribute Summary
#condition, #limit, #order
Instance Method Summary
collapse
#==, #initialize, #merge
Constructor Details
This class inherits a constructor from YADM::Criteria
Instance Method Details
#ascending_by(&block) ⇒ Object
45
46
47
48
49
|
# File 'lib/yadm/criteria_parser.rb', line 45
def ascending_by(&block)
expression = ExpressionParser.parse(block)
clause = Order::Clause.new(:asc, expression)
merge Criteria.new(order: Order.new([clause]))
end
|
#descending_by(&block) ⇒ Object
51
52
53
54
55
|
# File 'lib/yadm/criteria_parser.rb', line 51
def descending_by(&block)
expression = ExpressionParser.parse(block)
clause = Order::Clause.new(:desc, expression)
merge Criteria.new(order: Order.new([clause]))
end
|
#first(limit) ⇒ Object
57
58
59
|
# File 'lib/yadm/criteria_parser.rb', line 57
def first(limit)
merge Criteria.new(limit: Limit.new(limit))
end
|
#result ⇒ Object
32
33
34
35
36
37
38
|
# File 'lib/yadm/criteria_parser.rb', line 32
def result
YADM::Criteria.new(
condition: condition,
order: order,
limit: limit
)
end
|
#with(&block) ⇒ Object
40
41
42
43
|
# File 'lib/yadm/criteria_parser.rb', line 40
def with(&block)
expression = ExpressionParser.parse(block)
merge Criteria.new(condition: Condition.new(expression))
end
|