Module: SortByKey
- Included in:
- Hash
- Defined in:
- lib/sort_by_key.rb,
lib/sort_by_key/version.rb
Constant Summary collapse
- VERSION =
"0.1.0"
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.sort_by_key(hash, symbolize_keys: false, recursive: false, &block) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/sort_by_key.rb', line 4 def self.sort_by_key(hash, symbolize_keys: false, recursive: false, &block) keys = symbolize_keys ? hash.keys.map(&:to_sym) : hash.keys keys.sort(&block).reduce({}) do |acc, k| v = hash[k] if recursive && v.is_a?(Hash) acc[k] = self.sort_by_key(v, symbolize_keys: symbolize_keys, recursive: recursive, &block) else acc[k] = v end acc end end |
Instance Method Details
#sort_by_key(symbolize_keys: false, recursive: false, &block) ⇒ Object
17 18 19 |
# File 'lib/sort_by_key.rb', line 17 def sort_by_key(symbolize_keys: false, recursive: false, &block) ::SortByKey.sort_by_key(self, symbolize_keys: symbolize_keys, recursive: recursive, &block) end |