Class: Rooq::CaseExpression
Overview
Constant Summary
collapse
- CasePair =
T.type_alias { [Condition, Expression] }
Instance Attribute Summary collapse
Instance Method Summary
collapse
Methods inherited from Expression
#%, #*, #+, #-, #/, #as, #asc, #between, #desc, #eq, #gt, #gte, #in, #is_not_null, #is_null, #like, #lt, #lte, #ne, #to_sql
Constructor Details
#initialize ⇒ void
429
430
431
432
|
# File 'lib/rooq/expression.rb', line 429
def initialize
@cases = T.let([], T::Array[CasePair])
@else_result = T.let(nil, T.nilable(Expression))
end
|
Instance Attribute Details
423
424
425
|
# File 'lib/rooq/expression.rb', line 423
def cases
@cases
end
|
426
427
428
|
# File 'lib/rooq/expression.rb', line 426
def else_result
@else_result
end
|
Instance Method Details
443
444
445
446
447
448
449
|
# File 'lib/rooq/expression.rb', line 443
def else(result)
new_case = CaseExpression.new
new_case.instance_variable_set(:@cases, @cases.dup)
new_case.instance_variable_set(:@else_result, result)
new_case.freeze
new_case
end
|
435
436
437
438
439
440
|
# File 'lib/rooq/expression.rb', line 435
def when(condition, result)
new_case = CaseExpression.new
new_case.instance_variable_set(:@cases, @cases + [[condition, result]])
new_case.instance_variable_set(:@else_result, @else_result)
new_case
end
|