Class: Rooq::OrderSpecification

Inherits:
Object
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/rooq/field.rb

Constant Summary collapse

NullsPosition =
T.type_alias { T.nilable(Symbol) }

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(expression, direction, nulls: nil) ⇒ void

Parameters:



22
23
24
25
26
27
# File 'lib/rooq/field.rb', line 22

def initialize(expression, direction, nulls: nil)
  @expression = expression
  @direction = direction
  @nulls = nulls
  freeze
end

Instance Attribute Details

#directionSymbol (readonly)

Returns:

  • (Symbol)


16
17
18
# File 'lib/rooq/field.rb', line 16

def direction
  @direction
end

#expressionExpression (readonly)

Returns:



13
14
15
# File 'lib/rooq/field.rb', line 13

def expression
  @expression
end

#nullsNullsPosition (readonly)

Returns:



19
20
21
# File 'lib/rooq/field.rb', line 19

def nulls
  @nulls
end

Instance Method Details

#fieldExpression

For backwards compatibility

Returns:



41
42
43
# File 'lib/rooq/field.rb', line 41

def field
  @expression
end

#nulls_firstOrderSpecification

Returns:



30
31
32
# File 'lib/rooq/field.rb', line 30

def nulls_first
  OrderSpecification.new(@expression, @direction, nulls: :first)
end

#nulls_lastOrderSpecification

Returns:



35
36
37
# File 'lib/rooq/field.rb', line 35

def nulls_last
  OrderSpecification.new(@expression, @direction, nulls: :last)
end