Module: R2OAS::Sortable

Instance Method Summary collapse

Instance Method Details

#deep_sort(data, target) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/r2-oas/shared/sortable.rb', line 5

def deep_sort(data, target)
  if data.is_a?(Hash)
    data.each_with_object({}) do |(key, value), result|
      result[key] = if key.eql? target
                      if value.is_a?(Hash)
                        Hash[value.sort]
                      else
                        value
                                    end
                    else
                      deep_sort(value, target)
                    end
    end
  else
    data
  end
end