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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0e6c1b345c314a734220646b1b777b87eb9dc03c5e83b7523d1315f49ef51334
4
- data.tar.gz: e90b46d14c40a00fa121e336fc839b9f9d11c6a866f31337400ca14f5ef37b08
3
+ metadata.gz: 8344d04cc08c20ab66793e39c6db6ec84cadd1cd042b2a41542ae127994bc855
4
+ data.tar.gz: 2f45a3da92e6b929d649f2753df7298343a748470ee74bb0923bd84ca8b6e59f
5
5
  SHA512:
6
- metadata.gz: 6690804267f30d222a482bbffd3c47dac59d8d5b21e32f5f375f2e1b4d41938ff8acb80900675e0cf963efca0e931cf2d8851424e2e9378ddfe4b84d159ac628
7
- data.tar.gz: bcd8843d0423781c3161035bf3c9f8ebcfa5b7946e69e728e3a5099f4049eb41655e785452d0c7877d9dda73c51c089e063de7c5ef00070d5d8170429ffc029a
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)
@@ -1,3 +1,3 @@
1
1
  module ImmosquareExtensions
2
- VERSION = "0.1.1".freeze
2
+ VERSION = "0.1.2".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: immosquare-extensions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - IMMO SQUARE