active_object 4.0.9 → 4.0.10

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
  SHA1:
3
- metadata.gz: f913e9cb5748f85f842d00bd586e9dc60cb41a52
4
- data.tar.gz: 71a75e1617ac6176e49040967eebeb32b8caecd2
3
+ metadata.gz: 17c93141bea5e77c6c2fc5d75470b6a25e0f1267
4
+ data.tar.gz: f1d6592af7b665aeb5fda0f117658b7833f15111
5
5
  SHA512:
6
- metadata.gz: 2ca504cc49a338ff400e78db2fb0571bad7cfd5bc705d2c9983d0c09e761fa2f3be54d0f84c30370d3507ebd2aa0547375bc95911edbeef9aab60a40beef8527
7
- data.tar.gz: d9cfacf2ac5a0b34cf9f75ab4efb618fc65306fc249e72b64433e47d3ccc08964ef793910e965a22cb7499d760fc654764233d258330ac707d3a4551857d6227
6
+ metadata.gz: af6305996f6718c351a9c344f698d4be362f73bd2344a0439f404599d1cca083dc05ddd1932a2a2915b21484c521556b6723970d0815f8ecda3d4be00261158b
7
+ data.tar.gz: 10b24141fe1349d0dc16d28ab60ad6cfbdf110152068fb49d4ac2162a15dc557956bd99409041827f319ec4782ffdeb0080dca2afebf9ccc68335e14178aa2e2
data/README.md CHANGED
@@ -101,6 +101,14 @@ end
101
101
  [1, 2, 3, 4].delete_values(1, 3) #=> [2, 4]
102
102
  ```
103
103
 
104
+ **Denillify:**
105
+ `denillify` and `denillify!` converts nils into a given value.
106
+
107
+ ```ruby
108
+ [nil, 3, 4].denillify #=> [0, 3, 4]
109
+ [nil, 3, 4].denillify!(9) #=> [9, 3, 4]
110
+ ```
111
+
104
112
  **Dig:**
105
113
  `dig` returns the value of a nested array.
106
114
 
@@ -150,6 +158,14 @@ end
150
158
  %w(1 2 3 4 5 6 7 8 9 10).in_groups_of(3, false) #=> [['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9'], ['10']]
151
159
  ```
152
160
 
161
+ **Nillify:**
162
+ `nillify` and `nillify!` converts blank vlaues into nils.
163
+
164
+ ```ruby
165
+ [' ', 3, 4].nillify #=> [nil, 3, 4]
166
+ ['', 3, 4].nillify! #=> [nil, 3, 4]
167
+ ```
168
+
153
169
  **Percentile:**
154
170
  `percentile` returns the percentile value for a given percentage.
155
171
 
@@ -494,6 +510,14 @@ h2 = { a: false, b: { x: [3, 4, 5] } }
494
510
  h1.deep_merge(h2) #=> { a: false, b: { c: [1, 2, 3], x: [3, 4, 5] } }
495
511
  ```
496
512
 
513
+ **Denillify:**
514
+ `denillify` and `denillify!` converts nils into a given value.
515
+
516
+ ```ruby
517
+ { abc: nil, xyz: 1 }.denillify #=> { abc: 0, xyz: 1 }
518
+ { abc: nil, xyz: 1 }.denillify!(9) #=> { abc: 9, xyz: 1 }
519
+ ```
520
+
497
521
  **Dig:**
498
522
  `dig` returns the value of a nested hash.
499
523
 
@@ -34,6 +34,14 @@ module ActiveObject::Array
34
34
  result
35
35
  end
36
36
 
37
+ def denillify(value = 0)
38
+ map { |val| val.nil? ? value : val }
39
+ end
40
+
41
+ def denillify!(value = 0)
42
+ replace(denillify(value))
43
+ end
44
+
37
45
  def dig(key, *rest)
38
46
  value = (self[key] rescue nil)
39
47
 
@@ -100,6 +108,14 @@ module ActiveObject::Array
100
108
  end
101
109
  # rubocop:enable Metrics/MethodLength, Metrics/AbcSize
102
110
 
111
+ def nillify
112
+ map { |val| !val.nil? && (val.try(:blank?) || val.try(:to_s).blank?) ? nil : val }
113
+ end
114
+
115
+ def nillify!
116
+ replace(nillify)
117
+ end
118
+
103
119
  def percentile(percentage)
104
120
  total_size = size
105
121
 
@@ -1,6 +1,6 @@
1
1
  module Enumerable
2
2
 
3
- # rubocop:disable Lint/UnusedMethodArgument, Style/YodaCondition
3
+ # rubocop:disable Lint/UnusedMethodArgument
4
4
  def cluster(&block)
5
5
  result = []
6
6
  each do |ele|
@@ -9,7 +9,7 @@ module Enumerable
9
9
  end
10
10
  result
11
11
  end
12
- # rubocop:enable Lint/UnusedMethodArgument, Style/YodaCondition
12
+ # rubocop:enable Lint/UnusedMethodArgument
13
13
 
14
14
  def difference(identity = 0, &block)
15
15
  if block_given?
@@ -64,6 +64,14 @@ module ActiveObject::Hash
64
64
  end
65
65
  # rubocop:enable Metrics/MethodLength
66
66
 
67
+ def denillify(value = 0)
68
+ each { |key, val| self[key] = val.nil? ? value : val }
69
+ end
70
+
71
+ def denillify!(value = 0)
72
+ replace(denillify(value))
73
+ end
74
+
67
75
  def dig(key, *rest)
68
76
  value = (self[key] rescue nil)
69
77
 
@@ -1,3 +1,3 @@
1
1
  module ActiveObject
2
- VERSION = '4.0.9'.freeze
2
+ VERSION = '4.0.10'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.9
4
+ version: 4.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Gomez
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-05-27 00:00:00.000000000 Z
11
+ date: 2017-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dry-configurable