Module: QueryKit::CaseWhenExtension
- Defined in:
- lib/querykit/extensions/case_when.rb
Overview
Extension module that adds CASE WHEN support to Query Include this in Query to enable select_case functionality
Instance Method Summary collapse
-
#select(*columns) ⇒ Object
Override select to handle CaseBuilder objects.
-
#select_case(column = nil) ⇒ CaseBuilder
Start a CASE expression and return the builder The builder can be passed to select() like any other expression.
Instance Method Details
#select(*columns) ⇒ Object
Override select to handle CaseBuilder objects
18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/querykit/extensions/case_when.rb', line 18 def select(*columns) columns.flatten.each do |col| if col.is_a?(CaseBuilder) @selects << col.to_sql @bindings.concat(col.bindings) else @selects << col end end self end |
#select_case(column = nil) ⇒ CaseBuilder
Start a CASE expression and return the builder The builder can be passed to select() like any other expression
13 14 15 |
# File 'lib/querykit/extensions/case_when.rb', line 13 def select_case(column = nil) CaseBuilder.new(column) end |