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.



112
113
114
115
116
117
118
119
120
# File 'lib/deepsort.rb', line 112

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



123
124
125
126
127
128
129
130
131
# File 'lib/deepsort.rb', line 123

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