logical_model 0.7.3 → 0.7.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 176560a6cb04db15ecda58cd4953b2da3bba11b9c818442403a3ecd992bd2845
4
- data.tar.gz: 6c73c16eed5d6e1410282fc73712999205c6cd641f0fe79d8c05b6d6b2f376ef
3
+ metadata.gz: b9e813874f914e15ae59b5418f3b8f3f7956b634d3b78e6b71b8db7f6d0b24a9
4
+ data.tar.gz: 34e5a57719bdfaa9d8c5e015f375928f555919a05628fbd7e91b8aa6a690e385
5
5
  SHA512:
6
- metadata.gz: ff8a1ff4475c5ce986bbfde5c25c581ca3de60dc5b3197d20356837b471ff1a2cfc7abe892583f8cb977e3110640ae01c8d41792befd1111458b8b736af1e4f9
7
- data.tar.gz: f19c2f0af954729b33c3969434aa8d64d0c633bb999742636e41b217f667eff1f5752de81ab877e47d7829cab9e0e27f675b71bbd2a07c0f17df121b5c22fe54
6
+ metadata.gz: bdc851d2855dad7d13c088eb44a16229bd05b57d418149d67af3fcff1d0e952f9e326e052b897c1361acf9da8a20d2667c1a4e8ec969437634801ddf845fe2e0
7
+ data.tar.gz: d0f140df1accc666f3e33a097f71b2681235dfbeb21a9602ee791d019159ee63495568c2f5db026fdf026e285650da70170ba88a532619205cde879ef687e5b2
@@ -33,9 +33,9 @@ module TyphoeusFix
33
33
  #
34
34
  # @return [Hash] Hash with properly decoded nested arrays.
35
35
  def decode!(hash)
36
- return hash unless hash.is_a?(Hash)
36
+ return hash unless is_hash?(hash)
37
37
  hash.each_pair do |key,value|
38
- if value.is_a?(Hash)
38
+ if is_hash?(value)
39
39
  decode!(value)
40
40
  hash[key] = convert(value)
41
41
  end
@@ -49,6 +49,10 @@ module TyphoeusFix
49
49
 
50
50
  private
51
51
 
52
+ def is_hash?(hash)
53
+ hash.is_a?(Hash) || hash.is_a?(HashWithIndifferentAccess) || hash.is_a?(ActionController::Parameters)
54
+ end
55
+
52
56
  # Checks if Hash is an Array encoded as a Hash.
53
57
  # Specifically will check for the Hash to have this
54
58
  # form: {'0' => v0, '1' => v1, .., 'n' => vN }
@@ -74,6 +78,7 @@ module TyphoeusFix
74
78
  # @return [Arraya/Hash]
75
79
  def convert(hash)
76
80
  if encoded?(hash)
81
+ hash = hash.to_unsafe_h if hash.respond_to?(:to_unsafe_h)
77
82
  Hash[hash.sort_by{|k,v|k.to_i}].values
78
83
  else
79
84
  hash
@@ -6,7 +6,7 @@
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "logical_model"
9
- s.version = "0.7.3"
9
+ s.version = "0.7.4"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logical_model
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.3
4
+ version: 0.7.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dwayne Macgowan