hash_wia 0.7.7 → 0.7.11
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 +4 -4
- data/.version +2 -1
- data/lib/hash_wia/class.rb +12 -14
- data/lib/hash_wia/module.rb +2 -2
- data/lib/hash_wia/pollute.rb +2 -0
- 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: 8bf5ff2ab4b6c12a86f31caafd3670c6ad3c07567287dcc8e57c50a246408f73
|
4
|
+
data.tar.gz: 0cff132684a6c98ad476441c0cf4a426c3f495186bb0aeb481c65e77a74d7fb8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a4d39fd26f2a770e6009e52a5ec9ad53663223eead31ac647fa29e778419282d0e860627440e57470e7ced9a5dcb2e60952e9c56662206d856746bb4838fb55c
|
7
|
+
data.tar.gz: aa616df53c134ed5a34541e813ca69ae5a2567120999002be98d9a88954d2812238e0726e9040408a930b7eafa09fae5179e598b16159f1b1d749629cf050014
|
data/.version
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
0.7.
|
1
|
+
0.7.11
|
2
|
+
|
data/lib/hash_wia/class.rb
CHANGED
@@ -8,18 +8,13 @@ class HashWia
|
|
8
8
|
@hash = hash
|
9
9
|
end
|
10
10
|
|
11
|
-
def set
|
12
|
-
|
13
|
-
|
14
|
-
constant = constant.values.first
|
15
|
-
end
|
16
|
-
|
17
|
-
@hash[code.to_s] = name.to_s
|
18
|
-
@hash[constant.to_s] = code.to_s
|
11
|
+
def set constant, code, name
|
12
|
+
@hash[constant.to_s] = code
|
13
|
+
@hash[code] = name.to_s
|
19
14
|
end
|
20
15
|
|
21
|
-
def method_missing code,
|
22
|
-
self.set code,
|
16
|
+
def method_missing code, key_val
|
17
|
+
self.set code, key_val.keys.first, key_val.values.first
|
23
18
|
end
|
24
19
|
end
|
25
20
|
end
|
@@ -31,15 +26,18 @@ end
|
|
31
26
|
# HashWia do |opt|
|
32
27
|
# opt.DONE d: 'Done'
|
33
28
|
# # or
|
34
|
-
# opt.DONE :d, 'Done'
|
29
|
+
# opt.set 'DONE', :d, 'Done'
|
35
30
|
# end
|
36
|
-
def HashWia klass = nil, name = nil
|
31
|
+
def HashWia klass = nil, name = nil, opts = nil
|
37
32
|
if block_given?
|
38
33
|
hash = HashWia.new
|
39
34
|
|
40
35
|
if name
|
41
|
-
constant
|
42
|
-
|
36
|
+
if !opts || opts[:constant] != false
|
37
|
+
constant = name.to_s.upcase
|
38
|
+
klass.const_set constant, hash
|
39
|
+
end
|
40
|
+
|
43
41
|
klass.define_singleton_method(name) { klass.const_get(constant) }
|
44
42
|
end
|
45
43
|
|
data/lib/hash_wia/module.rb
CHANGED
@@ -26,8 +26,8 @@ module HashWiaModule
|
|
26
26
|
end
|
27
27
|
|
28
28
|
def []= key, value
|
29
|
-
if @frozen_keys
|
30
|
-
raise NoMethodError, "
|
29
|
+
if @frozen_keys && !keys.include?(key)
|
30
|
+
raise NoMethodError, "HashWia keys are frozen and can't be modified (key: #{key})"
|
31
31
|
end
|
32
32
|
|
33
33
|
delete key
|
data/lib/hash_wia/pollute.rb
CHANGED
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.7.
|
4
|
+
version: 0.7.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dino Reic
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-02-
|
11
|
+
date: 2022-02-06 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
|