Class | Sequel::SQL::CaseExpression
In: | lib/sequel/sql.rb lib/sequel/extensions/eval_inspect.rb
Parent: | GenericExpression

Represents an SQL CASE expression, used for conditional branching in SQL.

### Methods

expression? new

### Attributes

conditions | [R] | An array of all two pairs with the first element specifying the condition and the second element specifying the result if the condition matches.
default | [R] | The default value if no conditions match.
expression | [R] | The expression to test the conditions against

### Public Class methods

new(conditions, default, expression=(no_expression=true;

Create an object with the given conditions and default value. An expression can be provided to test each condition against, instead of having all conditions represent their own boolean expression.

[Source]

         # File lib/sequel/sql.rb, line 992
    992:       def initialize(conditions, default, expression=(no_expression=true; nil))
    993:         raise(Sequel::Error, 'CaseExpression conditions must be a hash or array of all two pairs') unless Sequel.condition_specifier?(conditions)
    994:         @conditions, @default, @expression, @no_expression = conditions.to_a, default, expression, no_expression
    995:       end

### Public Instance methods

expression?()

Whether to use an expression for this CASE expression.

[Source]

          # File lib/sequel/sql.rb, line 998
     998:       def expression?
     999:         !@no_expression
    1000:       end

[Validate]