Class: ActiveAny::Relation::OrderClause

Inherits:
Object
  • Object
show all
Defined in:
lib/active_any/relation/order_clause.rb

Defined Under Namespace

Classes: OrderValue

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values = [], reverse = false) ⇒ OrderClause

Returns a new instance of OrderClause.



14
15
16
17
# File 'lib/active_any/relation/order_clause.rb', line 14

def initialize(values = [], reverse = false)
  @reverse = reverse
  @order_values = convert_order_values(values)
end

Instance Attribute Details

#order_valuesObject (readonly)

Returns the value of attribute order_values.



12
13
14
# File 'lib/active_any/relation/order_clause.rb', line 12

def order_values
  @order_values
end

Class Method Details

.emptyObject



6
7
8
# File 'lib/active_any/relation/order_clause.rb', line 6

def self.empty
  new
end

Instance Method Details

#+(other) ⇒ Object Also known as: merge



28
29
30
31
32
33
# File 'lib/active_any/relation/order_clause.rb', line 28

def +(other)
  OrderClause.new(
    order_values + other.order_values,
    reverse? || other.reverse?
  )
end

#==(other) ⇒ Object



37
38
39
# File 'lib/active_any/relation/order_clause.rb', line 37

def ==(other)
  reverse? == other.reverse? && order_values == other.order_values
end

#empty?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'lib/active_any/relation/order_clause.rb', line 41

def empty?
  order_values.empty?
end

#reverse!Object



23
24
25
26
# File 'lib/active_any/relation/order_clause.rb', line 23

def reverse!
  @reverse = true
  self
end

#reverse?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/active_any/relation/order_clause.rb', line 19

def reverse?
  @reverse
end