module DeepSort::DeepSortArray
inject this method into the Array class to add deep sort functionality to Arrays
Public Instance Methods
deep_sort(options = {})
click to toggle source
# File lib/deepsort.rb, line 19 def deep_sort(options = {}) deep_sort_by(options) { |obj| obj } end
deep_sort!(options = {})
click to toggle source
# File lib/deepsort.rb, line 23 def deep_sort!(options = {}) deep_sort_by!(options) { |obj| obj } end
deep_sort_by(options = {}, &block)
click to toggle source
# File lib/deepsort.rb, line 27 def deep_sort_by(options = {}, &block) array = self.map do |value| if value.respond_to?(:deep_sort_by) value.deep_sort_by(options, &block) else value end end options[:array] == false ? array : array.sort_by(&block) end
deep_sort_by!(options = {}, &block)
click to toggle source
# File lib/deepsort.rb, line 38 def deep_sort_by!(options = {}, &block) array = self.map! do |value| if value.respond_to?(:deep_sort_by!) value.deep_sort_by!(options, &block) else value end end options[:array] == false ? array : array.sort_by!(&block) end