Class: Sequel::SQL::Cast

Inherits:
GenericExpression show all
Defined in:
lib/sequel_core/sql.rb

Overview

Represents a cast of an SQL expression to a specific type.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from StringMethods

#ilike, #like

Methods included from BooleanMethods

#~

Methods included from ComplexExpressionMethods

#extract, #sql_boolean, #sql_number, #sql_string

Methods included from OrderMethods

#asc, #desc

Methods included from CastMethods

#cast, #cast_numeric, #cast_string

Methods included from AliasMethods

#as

Methods inherited from Expression

#lit

Constructor Details

#initialize(expr, type) ⇒ Cast

Set the attributes to the given arguments



513
514
515
516
# File 'lib/sequel_core/sql.rb', line 513

def initialize(expr, type)
  @expr = expr
  @type = type
end

Instance Attribute Details

#exprObject (readonly)

The expression to cast



507
508
509
# File 'lib/sequel_core/sql.rb', line 507

def expr
  @expr
end

#typeObject (readonly)

The type to which to cast the expression



510
511
512
# File 'lib/sequel_core/sql.rb', line 510

def type
  @type
end

Instance Method Details

#to_s(ds) ⇒ Object

Delegate the creation of the resulting SQL to the given dataset, since it may be database dependent.



520
521
522
# File 'lib/sequel_core/sql.rb', line 520

def to_s(ds)
  ds.cast_sql(expr, type)
end