Module: InOrder::Aux::SortElements

Included in:
Fetch, Trim, Update
Defined in:
app/models/in_order/aux/sort_elements.rb

Class Method Summary collapse

Class Method Details

.sort_elements(elements) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'app/models/in_order/aux/sort_elements.rb', line 6

module_function \
def sort_elements(elements)
  index = elements.size

  sorted = Array.new(index)

  element_id = nil

  while index > 0
    index -= 1

    element = elements.find do |element|
                element.element_id == element_id
              end

    if element
      sorted[index] = element

      element_id = element.id
    end
  end

  sorted
end