hash_wia 0.8.6 → 0.8.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.version +1 -1
- data/lib/hash_wia/class.rb +2 -0
- data/lib/hash_wia/module.rb +4 -11
- data/lib/hash_wia/pollute.rb +4 -13
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4ab36dc996cbf145ed0952ed9e868362d7f33f81b56db07948b262bd68a5862
|
4
|
+
data.tar.gz: b97294a77516cafdfaac335444146c1711486093e21445854b3dd04604d5efef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cb414e0b445a2aba50089eeede332280025684c7bd13eae14a400c0bf774435616afd5195a92ad65a7f767213cc000339d6a414c76c070cd8588a7b5b3a455c3
|
7
|
+
data.tar.gz: 43a5d3d2a62d63d56a1f9484bd24d05929edd36fc883e85b9b86d65f03a268f572a39ba679756d8546d36aeb5186f94a3b1b5a5e4414acd6712feb3b6cb9bcad
|
data/.version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.8.
|
1
|
+
0.8.7
|
data/lib/hash_wia/class.rb
CHANGED
data/lib/hash_wia/module.rb
CHANGED
@@ -13,17 +13,10 @@ module HashWiaModule
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def [] key
|
16
|
-
|
17
|
-
|
18
|
-
data
|
19
|
-
data
|
20
|
-
|
21
|
-
if data.is_a?(Hash)
|
22
|
-
data.extend HashWiaModule
|
23
|
-
data
|
24
|
-
else
|
25
|
-
data
|
26
|
-
end
|
16
|
+
key = key.to_s unless key.respond_to?(:to_sym)
|
17
|
+
data = super(key.to_s) || super(key.to_sym)
|
18
|
+
data.extend HashWiaModule if data.is_a?(Hash)
|
19
|
+
data
|
27
20
|
end
|
28
21
|
|
29
22
|
def []= key, value
|
data/lib/hash_wia/pollute.rb
CHANGED
@@ -5,19 +5,10 @@ class Hash
|
|
5
5
|
if args.first.nil?
|
6
6
|
HashWia.new self
|
7
7
|
else
|
8
|
-
list
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
raise ArgumentError.new('Unallowed key/s: %s' % extra.map{ |_| ':%s' % _ }.join(', '))
|
13
|
-
end
|
14
|
-
|
15
|
-
HashWia.new.tap do |o|
|
16
|
-
list.each do |k|
|
17
|
-
o[k] = self[k]
|
18
|
-
o[k] = self[k.to_sym] if o[k].nil?
|
19
|
-
end
|
20
|
-
end
|
8
|
+
list = args.flatten
|
9
|
+
name = 'DynStruct_' + list.join('_')
|
10
|
+
HashWia::STRUCTS[name] ||= ::Struct.new(name, *list)
|
11
|
+
HashWia::STRUCTS[name].new **self
|
21
12
|
end
|
22
13
|
end
|
23
14
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hash_wia
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dino Reic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Gem provides simple access to common Ruby hash types bundled in one simple
|
14
14
|
class
|