clean-hash 0.5.10 → 0.5.11

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: 5aa268efe06af7303de7c0682b5a2609d24200031d735f4656a367def8e40107
4
- data.tar.gz: 9cd5fad76a9cbecc2809b5c66882d18d19f88c2f7fca85d61aa583a5528ecea1
3
+ metadata.gz: 7b4ab8e9884ce9634b844cd3c4376ff353bbe1017279b49e0ce0cbd6d3c40301
4
+ data.tar.gz: dfe2c01fa31add7234eaa6fb05c62cdbb4ea1a6eccd79a02df40076e4db2a9e0
5
5
  SHA512:
6
- metadata.gz: cfc3ed70a5f0e28ee81ab9510f01e239839bf006028984ba225dc7c998500cd2c07d17095afb6c6e7edde75e7113c74405969b39bda13f7b8ddec1b50759797e
7
- data.tar.gz: 514436d07e37905ef9d57079db2e3a98ccde96ac58b5d8ee4645654d0f71d56b622adae29add383f7b56c3176c95773b599e61e84b0c2b40a1dc8b97449e1a75
6
+ metadata.gz: d6af7a328d16dffe592cb6cbd4d341b5623b293efac278efb71f1dab6ca6bd0a9763a7f1f6ca5a18351c6d622595e639f89426861f3e8702b3f42e93fdffb576
7
+ data.tar.gz: f763eb0ef805f540e0133f381474d999cdbd63b62bb349b1208b7aad756e1243fd2859fe6b71c877b12ab9612320e47c5500a1fbe932195fc4a97aa99b72cf40
data/.version CHANGED
@@ -1 +1 @@
1
- 0.5.10
1
+ 0.5.11
@@ -14,6 +14,10 @@ class CleanHash
14
14
 
15
15
  def to_ch mode=nil
16
16
  if mode.is_a?(Array)
17
+ if not_alowed = (keys - mode).first
18
+ raise ArgumentError.new('CleanHash option "%s" is not alowed (%s)' % [not_alowed, mode.join(', ')])
19
+ end
20
+
17
21
  mode.each { |el| self[el] = nil if self[el].nil? }
18
22
  ::CleanHash.create_struct self
19
23
  else
@@ -1,15 +1,15 @@
1
1
  # Creates dynamic struct based on arguments
2
2
 
3
3
  class CleanHash
4
- STRUCTS = {}
4
+ CH_STRUCTS ||= {}
5
5
 
6
6
  def self.create_struct hash
7
7
  raise ArgumentError.new('Not a hash') unless hash.is_a?(Hash)
8
8
 
9
9
  name = 'DynStruct_' + hash.keys.join('_')
10
- STRUCTS[name] ||= ::Struct.new(name, *hash.keys.sort)
10
+ CH_STRUCTS[name] ||= ::Struct.new(name, *hash.keys.sort)
11
11
 
12
- STRUCTS[name].new.tap do |o|
12
+ CH_STRUCTS[name].new.tap do |o|
13
13
  hash.each do |k, v|
14
14
  o.send('%s=' % k, v) unless v.nil?
15
15
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: clean-hash
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.10
4
+ version: 0.5.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: 2020-05-08 00:00:00.000000000 Z
11
+ date: 2020-05-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: hashie