Class Symbol
In: lib/sequel/extensions/pg_row_ops.rb
lib/sequel/extensions/pg_array_ops.rb
lib/sequel/extensions/ruby18_symbol_extensions.rb
lib/sequel/extensions/core_extensions.rb
lib/sequel/extensions/pg_range_ops.rb
lib/sequel/extensions/pg_hstore_ops.rb
lib/sequel/deprecated_core_extensions.rb
Parent: Object

Sequel extends Symbol to add methods to implement the SQL DSL.

Methods

*   []   []   []   identifier   identifier   sql_function   sql_function  

Included Modules

Sequel::Postgres::PGRowOp::ExpressionMethods Sequel::Postgres::ArrayOpMethods Sequel::SQL::InequalityMethods Sequel::SQL::AliasMethods Sequel::SQL::CastMethods Sequel::SQL::OrderMethods Sequel::SQL::BooleanMethods Sequel::SQL::NumericMethods Sequel::SQL::QualifyingMethods Sequel::SQL::StringMethods Sequel::SQL::SubscriptMethods Sequel::SQL::ComplexExpressionMethods Sequel::Deprecation Sequel::Postgres::RangeOpMethods Sequel::Postgres::HStoreOpMethods Sequel::Deprecation Sequel::Deprecation Sequel::Deprecation Sequel::Deprecation Sequel::Deprecation Sequel::Deprecation Sequel::Deprecation Sequel::Deprecation Sequel::Deprecation Sequel::Deprecation

Public Instance methods

[Source]

     # File lib/sequel/deprecated_core_extensions.rb, line 102
102:     def *(ce=(arg=false;nil))
103:       if arg == false
104:         Sequel::Deprecation.deprecate('Symbol#*', "Please use Sequel.expr(symbol).* instead, or Sequel.extension(:core_extensions) to continue using it")
105:         Sequel::SQL::ColumnAll.new(self)
106:       else
107:         super(ce)
108:       end
109:     end

Create an SQL Function with the receiver as the function name and the given arguments.

[Source]

    # File lib/sequel/extensions/ruby18_symbol_extensions.rb, line 19
19:   def [](*args)
20:     Sequel::SQL::Function.new(self, *args)
21:   end

[Source]

     # File lib/sequel/deprecated_core_extensions.rb, line 130
130:     def [](*args)
131:       Sequel::Deprecation.deprecate('Symbol#[]', 'Please use Sequel.function instead, or Sequel.extension(:ruby18_symbol_extensions) to continue using it')
132:       Sequel::SQL::Function.new(self, *args)
133:     end

[Source]

     # File lib/sequel/extensions/core_extensions.rb, line 236
236:     def [](*args)
237:       Sequel::Deprecation.deprecate('Symbol#[]', 'Please use Sequel.function instead, or Sequel.extension(:ruby18_symbol_extensions) to continue using it')
238:       Sequel::SQL::Function.new(self, *args)
239:     end

Returns receiver wrapped in an Sequel::SQL::Identifier. Usually used to prevent splitting the symbol.

  :a__b # SQL: "a"."b"
  :a__b.identifier # SQL: "a__b"

[Source]

     # File lib/sequel/extensions/core_extensions.rb, line 220
220:   def identifier
221:     Sequel::SQL::Identifier.new(self)
222:   end

[Source]

     # File lib/sequel/deprecated_core_extensions.rb, line 120
120:   def identifier
121:     Sequel::Deprecation.deprecate('Symbol#identifier', 'Please use Sequel.identifier instead, or Sequel.extension(:core_extensions) to continue using it')
122:     Sequel::SQL::Identifier.new(self)
123:   end

[Source]

     # File lib/sequel/deprecated_core_extensions.rb, line 125
125:   def sql_function(*args)
126:     Sequel::Deprecation.deprecate('Symbol#sql_function', 'Please use Sequel.function instead, or Sequel.extension(:core_extensions) to continue using it')
127:     Sequel::SQL::Function.new(self, *args)
128:   end

Returns a Sequel::SQL::Function with this as the function name, and the given arguments. This is aliased as Symbol#[] if the RUBY_VERSION is less than 1.9.0. Ruby 1.9 defines Symbol#[], and Sequel doesn‘t override methods defined by ruby itself.

  :now.sql_function # SQL: now()
  :sum.sql_function(:a) # SQL: sum(a)
  :concat.sql_function(:a, :b) # SQL: concat(a, b)

[Source]

     # File lib/sequel/extensions/core_extensions.rb, line 232
232:   def sql_function(*args)
233:     Sequel::SQL::Function.new(self, *args)
234:   end

[Validate]