Module: DeepSort::DeepSortArray
- Defined in:
- lib/deepsort.rb
Overview
inject this method into the Array class to add deep sort functionality to Arrays
Instance Method Summary collapse
- #deep_sort ⇒ Object
- #deep_sort! ⇒ Object
- #deep_sort_by(&block) ⇒ Object
- #deep_sort_by!(&block) ⇒ Object
Instance Method Details
#deep_sort ⇒ Object
19 20 21 |
# File 'lib/deepsort.rb', line 19 def deep_sort deep_sort_by { |obj| obj } end |
#deep_sort! ⇒ Object
23 24 25 |
# File 'lib/deepsort.rb', line 23 def deep_sort! deep_sort_by! { |obj| obj } end |
#deep_sort_by(&block) ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/deepsort.rb', line 27 def deep_sort_by(&block) self.map do |value| if value.respond_to? :deep_sort_by value.deep_sort_by(&block) else value end end.sort_by(&block) end |
#deep_sort_by!(&block) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/deepsort.rb', line 37 def deep_sort_by!(&block) self.map! do |value| if value.respond_to? :deep_sort_by! value.deep_sort_by!(&block) else value end end.sort_by!(&block) end |