class Sequel::SQL::OrderedExpression

  1. lib/sequel/sql.rb
Superclass: Expression

Represents a column/expression to order the result set by.

Methods

Public Class

  1. new

Public Instance

  1. asc
  2. desc
  3. descending
  4. expression
  5. invert
  6. nulls

Constants

INVERT_NULLS = {:first=>:last, :last=>:first}.freeze  

Attributes

descending [R]

Whether the expression should order the result set in a descending manner

expression [R]

The expression to order the result set by.

nulls [R]

Whether to sort NULLS FIRST/LAST

Public Class methods

new(expression, descending = true, opts=OPTS)

Set the expression and descending attributes to the given values. Options:

:nulls

Can be :first/:last for NULLS FIRST/LAST.

[show source]
     # File lib/sequel/sql.rb
1682 def initialize(expression, descending = true, opts=OPTS)
1683   @expression = expression
1684   @descending = descending
1685   @nulls = opts[:nulls]
1686   freeze
1687 end

Public Instance methods

asc()

Return a copy that is ordered ASC

[show source]
     # File lib/sequel/sql.rb
1690 def asc
1691   OrderedExpression.new(@expression, false, :nulls=>@nulls)
1692 end
desc()

Return a copy that is ordered DESC

[show source]
     # File lib/sequel/sql.rb
1695 def desc
1696   OrderedExpression.new(@expression, true, :nulls=>@nulls)
1697 end
invert()

Return an inverted expression, changing ASC to DESC and NULLS FIRST to NULLS LAST.

[show source]
     # File lib/sequel/sql.rb
1700 def invert
1701   OrderedExpression.new(@expression, !@descending, :nulls=>INVERT_NULLS.fetch(@nulls, @nulls))
1702 end