codecode-common-utils 0.1.4 → 0.1.5

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
  SHA1:
3
- metadata.gz: 4de6e51d5729e576fac90ec7988948a4d03e044b
4
- data.tar.gz: 9bc1093a7d54848b57b77986439c481e76fceda0
3
+ metadata.gz: 0be9a41ed883d1a742c1c9fab22eacdf7720b74c
4
+ data.tar.gz: 3b6969826d1fd734d65f63acb2f2906d108ace76
5
5
  SHA512:
6
- metadata.gz: 2574b8144fc5a2ef86462f1a04280c2b82c9ea7c8ba8c28c85392b032c62080ee1e21abd798063dafc99626344efe40af18ae189979c32e6957854a5536d8dab
7
- data.tar.gz: 28d70e267816181dfa5aa5bcd52ecbc7f40940186a032fc7a28eacaa726f9099641560a6397dcc423dec89d7c9c4a1fe7acbfe89e8a5c971a63c52d9dac6b2af
6
+ metadata.gz: eafe0bef68ec71475a90d3ada4a9eb7df533e418a13ee48dc7b3ee3dd29bb3307ca686d842da4c993c91cf2c2ea30a585441ecf99d5253a618abaec1b0af113c
7
+ data.tar.gz: 7dc9090f1c5cf4cb6106656cddff0b9743c24692f098bd7c458dd53433ae1aaa50dffbc56332bb0abb9f090c8739332f4bd25e9dc239e8e3b2db9f2f26ffbce7
@@ -13,10 +13,14 @@ module CodeCode
13
13
  #
14
14
  # @param [Hash] hash
15
15
  # @return [Hash] The resulting hash with symbolized keys
16
- def self.symbolize_keys(hash)
16
+ def symbolize_keys(hash)
17
17
  hash.inject({}){ |memo, (k, v)|
18
18
  memo[k.to_sym] = v
19
- memo[k.to_sym] = symbolize_keys v if v.class.eql? ::Hash
19
+ if v.class.eql? ::Hash
20
+ memo[k.to_sym] = symbolize_keys v
21
+ elsif v.class.eql? ::Array
22
+ memo[k.to_sym] = symbolize_keys_of_hashs v
23
+ end
20
24
  memo
21
25
  }
22
26
  end
@@ -25,21 +29,55 @@ module CodeCode
25
29
  #
26
30
  # @param [Hash] hash
27
31
  # @return [Hash] The resulting hash with symbolized keys
28
- def self.symbolize_keys!(hash)
32
+ def symbolize_keys!(hash)
29
33
  new_hash = hash.inject({}){ |memo, (k, v)|
30
34
  memo[k.to_sym] = v
31
- memo[k.to_sym] = symbolize_keys v if v.class.eql? ::Hash
35
+ if v.class.eql? ::Hash
36
+ memo[k.to_sym] = symbolize_keys! v
37
+ elsif v.class.eql? ::Array
38
+ memo[k.to_sym] = symbolize_keys_of_hashs! v
39
+ end
32
40
  memo
33
41
  }
34
42
  hash.replace new_hash
35
43
  end
36
44
 
45
+ # Convert Hash Array with string keys to symbol keys
46
+ # @param [Object] array_of_hashs Array of String Hash
47
+ # @return [Object] Array of Symbol Hash
48
+ def symbolize_keys_of_hashs(array_of_hashs)
49
+ array_of_hashs.collect{|hash| symbolize_keys(hash)}
50
+ end
51
+
52
+ # BANG! Convert Hash Array with string keys to symbol keys
53
+ # @param [Object] array_of_hashs Array of String Hash
54
+ # @return [Object] Array of Symbol Hash
55
+ def symbolize_keys_of_hashs!(array_of_hashs)
56
+ array_of_hashs.collect!{|hash| symbolize_keys(hash)}
57
+ end
58
+
59
+ def recursive_key_symbolizer!(object)
60
+ if object.class.eql? ::Array
61
+ symbolize_keys_of_hashs! object
62
+ elsif object.class.eql? ::Hash
63
+ symbolize_keys! object
64
+ end
65
+ end
66
+
67
+ def recursive_key_symbolizer(object)
68
+ if object.class.eql? ::Array
69
+ symbolize_keys_of_hashs object
70
+ elsif object.class.eql? ::Hash
71
+ symbolize_keys object
72
+ end
73
+ end
74
+
37
75
  # Removes a key from the hash and return the modified hash
38
76
  #
39
77
  # @param [Hash] hash
40
78
  # @param [Symbol] key
41
79
  # @return [Hash] The given hash without the removed key
42
- def self.except(hash, key)
80
+ def except(hash, key)
43
81
  hash.delete(key)
44
82
  end
45
83
 
@@ -48,7 +86,7 @@ module CodeCode
48
86
  # @param [Hash] hash
49
87
  # @param [Array] keys
50
88
  # @return [Hash]
51
- def self.select(hash, keys)
89
+ def select(hash, keys)
52
90
  hash.select { |k, v| keys.include?(k) }
53
91
  end
54
92
  end
@@ -60,7 +98,7 @@ module CodeCode
60
98
  # empty or keys are missing
61
99
  # @param [Array[Symbol]] required_fields array of symbols
62
100
  # @param [Object] params
63
- def self.check_fields(required_fields, params)
101
+ def check_fields(required_fields, params)
64
102
  required_fields, missing, empty, null = required_fields, [], [], []
65
103
  required_fields.each { |key|
66
104
  missing.push(key) unless params.keys.include?(key)
@@ -1,7 +1,7 @@
1
1
  module CodeCode
2
2
  module Common
3
3
  module Utils
4
- VERSION = '0.1.4'
4
+ VERSION = '0.1.5'
5
5
  end
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: codecode-common-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Felipe Rodrigues Michetti
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-07-18 00:00:00.000000000 Z
11
+ date: 2017-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler