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 +4 -4
- data/README.md +24 -0
- data/lib/active_object/array.rb +16 -0
- data/lib/active_object/enumerable.rb +2 -2
- data/lib/active_object/hash.rb +8 -0
- data/lib/active_object/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 17c93141bea5e77c6c2fc5d75470b6a25e0f1267
|
4
|
+
data.tar.gz: f1d6592af7b665aeb5fda0f117658b7833f15111
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
|
data/lib/active_object/array.rb
CHANGED
@@ -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
|
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
|
12
|
+
# rubocop:enable Lint/UnusedMethodArgument
|
13
13
|
|
14
14
|
def difference(identity = 0, &block)
|
15
15
|
if block_given?
|
data/lib/active_object/hash.rb
CHANGED
@@ -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
|
|
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.
|
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-
|
11
|
+
date: 2017-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-configurable
|