class Case
Constants
- S_CASE
- S_ELSE
- S_SPACE
- S_WHEN
Public Class Methods
new(conditions)
click to toggle source
# File lib/eno/expressions.rb, line 179 def initialize(conditions) @props = conditions end
Public Instance Methods
to_sql(sql)
click to toggle source
# File lib/eno/expressions.rb, line 188 def to_sql(sql) conditions = @props.inject([]) { |a, (k, v)| if k.is_a?(Symbol) && k == :default a else a << (S_WHEN % [sql.quote(k), sql.quote(v)]) end } if default = @props[:default] conditions << (S_ELSE % sql.quote(default)) end S_CASE % conditions.join(S_SPACE) end