Method: Hash#_xml_sort_keys

Defined in:
lib/base/helpers/support.xml.rb

#_xml_sort_keysObject

Sorts the keys accordingly to their order definition (if Hash::_order was used).



211
212
213
214
215
216
217
218
219
220
221
# File 'lib/base/helpers/support.xml.rb', line 211

def _xml_sort_keys # :nodoc:
  keys.sort do |key1, key2|
    key1idx = key1.to_s[RIGHTXMLSUPPORT_SORTORDERREGEXP] && $2 && $2.to_i
    key2idx = key2.to_s[RIGHTXMLSUPPORT_SORTORDERREGEXP] && $2 && $2.to_i
    if    key1idx && key2idx then key1idx <=> key2idx
    elsif key1idx            then -1
    elsif key2idx            then  1
    else                           0
    end
  end
end