Class | Sequel::SQL::OrderedExpression
In: | lib/sequel/sql.rb lib/sequel/extensions/eval_inspect.rb
Parent: | Expression

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

### Methods

asc desc invert new

### 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={})

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

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

[Source]

          # File lib/sequel/sql.rb, line 1259
    1259:       def initialize(expression, descending = true, opts={})
    1260:         @expression, @descending, @nulls = expression, descending, opts[:nulls]
    1261:       end

### Public Instance methods

asc()

Return a copy that is ordered ASC

[Source]

          # File lib/sequel/sql.rb, line 1264
    1264:       def asc
    1265:         OrderedExpression.new(@expression, false, :nulls=>@nulls)
    1266:       end

desc()

Return a copy that is ordered DESC

[Source]

          # File lib/sequel/sql.rb, line 1269
    1269:       def desc
    1270:         OrderedExpression.new(@expression, true, :nulls=>@nulls)
    1271:       end

invert()

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

[Source]

          # File lib/sequel/sql.rb, line 1274
    1274:       def invert
    1275:         OrderedExpression.new(@expression, !@descending, :nulls=>INVERT_NULLS.fetch(@nulls, @nulls))
    1276:       end

[Validate]