immosquare-extensions 0.1.1 → 0.1.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/immosquare-extensions/hash.rb +2 -0
- data/lib/immosquare-extensions/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8344d04cc08c20ab66793e39c6db6ec84cadd1cd042b2a41542ae127994bc855
|
4
|
+
data.tar.gz: 2f45a3da92e6b929d649f2753df7298343a748470ee74bb0923bd84ca8b6e59f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f3150e1f7f1eab4c0e31d3887e6017e596813fa563329dbb5fa876ab307420ae320542fee0c85a4f3b0f316ad557eba8ed69221253d1753db09c01704ecc4e92
|
7
|
+
data.tar.gz: 298f9e60514c83125f1383c087b151b4d9aec2a8a1210c49f9368afee66d6a0c3e4c7755c085971a6634b76469b9411a419797bfa7667d2e04d49d9fed8ea646
|
@@ -35,6 +35,7 @@ class Hash
|
|
35
35
|
##============================================================##
|
36
36
|
## Sort a hash by its keys. If the recursive flag is true,
|
37
37
|
## it will sort nested hashes as well.
|
38
|
+
## case-insensitive comparison and stripping of double quotes.
|
38
39
|
##
|
39
40
|
## Reference:
|
40
41
|
## http://dan.doezema.com/2012/04/recursively-sort-ruby-hash-by-key/
|
@@ -43,6 +44,7 @@ class Hash
|
|
43
44
|
## {b: 1, a: {d: 4, c: 3}}.sort_by_key(true) => {:a=>{:c=>3, :d=>4}, :b=>1}
|
44
45
|
##============================================================##
|
45
46
|
def sort_by_key(recursive = false, &block)
|
47
|
+
block ||= proc {|a, b| a.to_s.downcase.gsub("\"", "") <=> b.to_s.downcase.gsub("\"", "") }
|
46
48
|
keys.sort(&block).each_with_object({}) do |key, seed|
|
47
49
|
seed[key] = self[key]
|
48
50
|
seed[key] = seed[key].sort_by_key(true, &block) if recursive && seed[key].is_a?(Hash)
|