Class: Getto::Repository::Sequel::Search::Order

Inherits:
Object
  • Object
show all
Defined in:
lib/getto/repository/sequel/search.rb

Instance Method Summary collapse

Constructor Details

#initialize(sort:, order:) ⇒ Order

Returns a new instance of Order.



122
123
124
125
# File 'lib/getto/repository/sequel/search.rb', line 122

def initialize(sort:, order:)
  @sort = sort
  @order = order
end

Instance Method Details

#force(column) ⇒ Object



133
134
135
136
137
138
139
# File 'lib/getto/repository/sequel/search.rb', line 133

def force(column)
  if @sort[:order]
    @order << ::Sequel.asc(column)
  else
    @order << ::Sequel.desc(column)
  end
end

#is_not_null(column, not_null_value, null_value) ⇒ Object



141
142
143
144
145
146
# File 'lib/getto/repository/sequel/search.rb', line 141

def is_not_null(column, not_null_value, null_value)
  ::Sequel.function(
    :if,
    ::Sequel.lit("? is not null", column),
    not_null_value, null_value)
end

#order(key, column) ⇒ Object



127
128
129
130
131
# File 'lib/getto/repository/sequel/search.rb', line 127

def order(key,column)
  if @sort[:column] == key
    force(column)
  end
end