Method: Brief::DocumentMapper::Query#all

Defined in:
lib/brief/document_mapper.rb

#allObject



94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
# File 'lib/brief/document_mapper.rb', line 94

def all
  results = run_query

  if @order_by
    order_by_attr = @order_by.keys.first
    direction     = @order_by.values.first

    results.select! do |result|
      result.respond_to?(order_by_attr)
    end

    results.sort_by! do |result|
      result.send(order_by_attr)
    end

    results.reverse! if direction == :desc
  end

  if @offset.present?
    results = results.last([results.size - @offset, 0].max)
  end

  if @limit.present?
    results = results.first(@limit)
  end

  results
end