Class: Arel::Nodes::Case
- Inherits:
-
Node
- Object
- Node
- Arel::Nodes::Case
- Includes:
- AliasPredication, Expressions, Predications
- Defined in:
- lib/arel_extension/nodes/case.rb
Overview
Case node
Instance Attribute Summary collapse
-
#conditions ⇒ Object
readonly
Returns the value of attribute conditions.
-
#default ⇒ Object
readonly
Returns the value of attribute default.
Instance Method Summary collapse
- #else(expression) ⇒ Object
-
#initialize ⇒ Case
constructor
A new instance of Case.
- #then(expression) ⇒ Object
- #when(condition, expression = nil) ⇒ Object
Methods included from Predications
Methods included from Expressions
Constructor Details
#initialize ⇒ Case
Returns a new instance of Case.
21 22 23 24 |
# File 'lib/arel_extension/nodes/case.rb', line 21 def initialize @conditions = [] @default = nil end |
Instance Attribute Details
#conditions ⇒ Object (readonly)
Returns the value of attribute conditions.
19 20 21 |
# File 'lib/arel_extension/nodes/case.rb', line 19 def conditions @conditions end |
#default ⇒ Object (readonly)
Returns the value of attribute default.
19 20 21 |
# File 'lib/arel_extension/nodes/case.rb', line 19 def default @default end |
Instance Method Details
#else(expression) ⇒ Object
36 37 38 39 |
# File 'lib/arel_extension/nodes/case.rb', line 36 def else(expression) @default = Else.new(expression) self end |
#then(expression) ⇒ Object
31 32 33 34 |
# File 'lib/arel_extension/nodes/case.rb', line 31 def then(expression) @conditions.last.right = expression self end |
#when(condition, expression = nil) ⇒ Object
26 27 28 29 |
# File 'lib/arel_extension/nodes/case.rb', line 26 def when(condition, expression = nil) @conditions << When.new(condition, expression) self end |