Top Level Namespace

Defined Under Namespace

Modules: DeepSort

Instance Method Summary collapse

Instance Method Details

#deep_sort(obj) ⇒ Object

and if you don’t like calling member methods on objects, these two functions do it for you. if the object cannot be deep sorted, it will simply return the sorted object or the object itself if sorting isn’t available.



104
105
106
107
108
109
110
111
112
# File 'lib/deepsort.rb', line 104

def deep_sort(obj)
  if obj.respond_to? :deep_sort
    obj.deep_sort
  elsif obj.respond_to? :sort
    obj.sort
  else
    obj
  end
end

#deep_sort!(obj) ⇒ Object

similar to the deep_sort method, but performs the deep sort in place



115
116
117
118
119
120
121
122
123
# File 'lib/deepsort.rb', line 115

def deep_sort!(obj)
  if obj.respond_to? :deep_sort!
    obj.deep_sort!
  elsif obj.respond_to? :sort!
    obj.sort!
  else
    obj
  end
end