active_object 4.0.9 → 4.0.10
Sign up to get free protection for your applications and to get access to all the features.
- 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
|