darthjee-core_ext 1.7.4 → 2.0.0
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/.circleci/config.yml +7 -1
- data/.gitignore +2 -0
- data/.reek.yml +3 -0
- data/ARRAY_README.md +72 -15
- data/CLASS_README.md +154 -0
- data/DATE_README.md +19 -9
- data/Dockerfile +2 -5
- data/ENUMERABLE_README.md +154 -4
- data/HASH_README.md +276 -135
- data/MATH_README.md +14 -10
- data/OBJECT_README.md +18 -35
- data/README.md +8 -4
- data/Rakefile +1 -0
- data/SYMBOL_README.md +13 -18
- data/config/rubycritc.rb +12 -0
- data/config/yardstick.yml +45 -3
- data/core_ext.gemspec +10 -8
- data/docker-compose.yml +15 -7
- data/lib/darthjee/core_ext/array.rb +17 -12
- data/lib/darthjee/core_ext/array/hash_builder.rb +20 -4
- data/lib/darthjee/core_ext/class.rb +28 -10
- data/lib/darthjee/core_ext/date.rb +1 -0
- data/lib/darthjee/core_ext/enumerable.rb +67 -30
- data/lib/darthjee/core_ext/hash.rb +4 -2
- data/lib/darthjee/core_ext/hash/cameliazable.rb +39 -8
- data/lib/darthjee/core_ext/hash/chain_fetcher.rb +17 -1
- data/lib/darthjee/core_ext/hash/changeable.rb +88 -0
- data/lib/darthjee/core_ext/hash/deep_hash_constructor.rb +127 -63
- data/lib/darthjee/core_ext/hash/deep_hash_constructor/setter.rb +112 -0
- data/lib/darthjee/core_ext/hash/key_changeable.rb +126 -54
- data/lib/darthjee/core_ext/hash/key_changer.rb +140 -40
- data/lib/darthjee/core_ext/hash/keys_sorter.rb +42 -6
- data/lib/darthjee/core_ext/hash/squasher.rb +131 -18
- data/lib/darthjee/core_ext/hash/transformable.rb +133 -41
- data/lib/darthjee/core_ext/hash/transposeable.rb +37 -8
- data/lib/darthjee/core_ext/hash/value_changer.rb +76 -36
- data/lib/darthjee/core_ext/math.rb +37 -6
- data/lib/darthjee/core_ext/numeric.rb +10 -0
- data/lib/darthjee/core_ext/object.rb +29 -0
- data/lib/darthjee/core_ext/symbol.rb +22 -2
- data/lib/darthjee/core_ext/version.rb +1 -1
- data/scripts/check_readme.sh +6 -0
- data/scripts/rubycritic.sh +10 -0
- data/spec/integration/readme/array_spec.rb +96 -0
- data/spec/integration/readme/class_spec.rb +123 -0
- data/spec/integration/readme/date_spec.rb +20 -0
- data/spec/integration/readme/enumerable_spec.rb +87 -0
- data/spec/integration/readme/hash_spec.rb +391 -0
- data/spec/integration/readme/math_spec.rb +31 -0
- data/spec/integration/readme/object_spec.rb +49 -0
- data/spec/integration/readme/symbol_spec.rb +29 -0
- data/spec/integration/yard/darthjee/core_ext/enumerable_spec.rb +24 -4
- data/spec/integration/yard/darthjee/core_ext/hash/cameliazable_spec.rb +11 -0
- data/spec/integration/yard/darthjee/core_ext/hash/changeable_spec.rb +68 -0
- data/spec/integration/yard/darthjee/core_ext/hash/deep_hash_constructor/setter_spec.rb +34 -0
- data/spec/integration/yard/darthjee/core_ext/hash/deep_hash_constructor_spec.rb +65 -0
- data/spec/integration/yard/darthjee/core_ext/hash/key_changeable_spec.rb +8 -0
- data/spec/integration/yard/darthjee/core_ext/hash/key_changer_spec.rb +59 -0
- data/spec/integration/yard/darthjee/core_ext/hash/keys_sorter_spec.rb +25 -0
- data/spec/integration/yard/darthjee/core_ext/hash/squasher_spec.rb +60 -0
- data/spec/integration/yard/darthjee/core_ext/hash/transformable_spec.rb +66 -36
- data/spec/integration/yard/darthjee/core_ext/hash/transposeable_spec.rb +35 -0
- data/spec/integration/yard/darthjee/core_ext/hash_spec.rb +13 -2
- data/spec/integration/yard/darthjee/core_ext/math_spec.rb +28 -0
- data/spec/integration/yard/darthjee/core_ext/numeric_spec.rb +11 -0
- data/spec/integration/yard/darthjee/core_ext/object_spec.rb +47 -0
- data/spec/integration/yard/darthjee/core_ext/symbol_spec.rb +17 -0
- data/spec/lib/darthjee/core_ext/hash/deep_hash_constructor/setter_spec.rb +64 -0
- data/spec/lib/darthjee/core_ext/hash/deep_hash_constructor_spec.rb +16 -156
- data/spec/lib/darthjee/core_ext/hash/keys_sorter_spec.rb +5 -4
- data/spec/lib/darthjee/core_ext/hash/squasher_spec.rb +8 -2
- data/spec/lib/darthjee/core_ext/hash/value_changer_spec.rb +4 -12
- data/spec/lib/hash_spec.rb +92 -146
- data/spec/lib/object_spec.rb +32 -0
- data/spec/support/models/client.rb +22 -0
- data/spec/support/shared_examples/hash/deep_hash.rb +166 -0
- data/spec/support/shared_examples/hash/hash_squasher.rb +54 -9
- data/spec/support/shared_examples/hash/keys_sorter.rb +266 -6
- metadata +70 -8
- data/lib/darthjee/core_ext/hash/to_hash_mapper.rb +0 -25
- data/spec/lib/darthjee/core_ext/hash/to_hash_mapper_spec.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8fa1c8ad67a3ebb2c4e0d3e44d2ece2404cb679e
|
4
|
+
data.tar.gz: 2362ff51b7d433bc82fb51314496af9801145bde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac6b7fe0376149cb813893fdb64822f69e0f78972b21bb19d8d1be2192b395b386a2d565956197c613576aff80075d1eb609683af342a3b0728553c6fb32e9a8
|
7
|
+
data.tar.gz: 278121be9eb0a87815c2b878059a37c583b27296d9667c848e75a9f05bdd4b09b85051a0f2c254aafbb83da0691d6fa6fe5d611810536bac3e62b3056b52701f
|
data/.circleci/config.yml
CHANGED
@@ -2,7 +2,7 @@ version: 2
|
|
2
2
|
jobs:
|
3
3
|
build:
|
4
4
|
docker:
|
5
|
-
- image: darthjee/
|
5
|
+
- image: darthjee/circleci_ruby_gems_240:0.0.2
|
6
6
|
steps:
|
7
7
|
- checkout
|
8
8
|
- run:
|
@@ -23,3 +23,9 @@ jobs:
|
|
23
23
|
- run:
|
24
24
|
name: Yardstick coverage check
|
25
25
|
command: bundle exec rake verify_measurements
|
26
|
+
- run:
|
27
|
+
name: Check version documentation
|
28
|
+
command: scripts/check_readme.sh
|
29
|
+
- run:
|
30
|
+
name: Rubycritcs check
|
31
|
+
command: scripts/rubycritic.sh
|
data/.gitignore
CHANGED
data/.reek.yml
ADDED
data/ARRAY_README.md
CHANGED
@@ -1,19 +1,26 @@
|
|
1
1
|
## Array
|
2
|
-
|
3
|
-
|
2
|
+
|
3
|
+
### #as_hash
|
4
|
+
Creates a hash from the array using the argument array as keys
|
4
5
|
|
5
6
|
```ruby
|
6
|
-
array = [
|
7
|
-
|
7
|
+
array = [10, 20, 30, 40]
|
8
|
+
keys = %i[ten twenty thirty fourty]
|
9
|
+
|
10
|
+
array.as_hash(keys) # returns {
|
11
|
+
# ten: 10,
|
12
|
+
# twenty: 20,
|
13
|
+
# thirty: 30,
|
14
|
+
# fourty: 40
|
15
|
+
# }
|
8
16
|
```
|
9
17
|
|
10
|
-
### #
|
11
|
-
|
18
|
+
### #average
|
19
|
+
Returns the average of the values in the array
|
12
20
|
|
13
21
|
```ruby
|
14
|
-
array =
|
15
|
-
|
16
|
-
{ 'a' => 1, 'b' => 2 }
|
22
|
+
array = [1, 2, 3, 4]
|
23
|
+
array.average # returns 2.5
|
17
24
|
```
|
18
25
|
|
19
26
|
### #chain_map
|
@@ -22,7 +29,8 @@ applies map in a chain
|
|
22
29
|
```ruby
|
23
30
|
array = [ :a, :long_name, :sym ]
|
24
31
|
array.chain_map(:to_s, :size, :to_s)
|
25
|
-
|
32
|
+
|
33
|
+
# returns [ '1', '9', '3' ]
|
26
34
|
```
|
27
35
|
|
28
36
|
```ruby
|
@@ -31,13 +39,62 @@ array.chain_map(:to_s, :size) { |v| "final: #{v}" }
|
|
31
39
|
[ 'final: 1', 'final: 9', 'final: 3' ]
|
32
40
|
```
|
33
41
|
|
34
|
-
### #
|
35
|
-
|
42
|
+
### #mapk
|
43
|
+
Maps by fetching values from hashes inside array
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
array = [
|
47
|
+
{ a: { b: 1 }, b: 2 },
|
48
|
+
{ a: { b: 3 }, b: 4 }
|
49
|
+
]
|
50
|
+
|
51
|
+
array.mapk(:a, :b) # return [1, 3]
|
52
|
+
```
|
53
|
+
|
54
|
+
### #procedural_join
|
55
|
+
Maps values to strings and joins then by evaluating which
|
56
|
+
string to be used on joining
|
36
57
|
|
37
58
|
```ruby
|
38
|
-
|
59
|
+
mapper = proc { |value| value.to_f.to_s }
|
60
|
+
array.procedural_join(mapper) do |_previous, nexte|
|
61
|
+
nexte.positive? ? ' +' : ' '
|
62
|
+
end # returns '1.0 +2.0 -3.0 -4.0 +5.0'
|
39
63
|
```
|
40
|
-
|
64
|
+
|
65
|
+
### #random
|
66
|
+
Returns a random element of the array
|
67
|
+
|
41
68
|
```ruby
|
42
|
-
|
69
|
+
array = [10, 20, 30]
|
70
|
+
array.random # returns any of the elements
|
71
|
+
array.include?(array.random!) # returns true
|
43
72
|
```
|
73
|
+
|
74
|
+
### #random!
|
75
|
+
Removes a random element of the array
|
76
|
+
|
77
|
+
```ruby
|
78
|
+
array = [10, 20, 30]
|
79
|
+
array.random! # returns any of the elements
|
80
|
+
|
81
|
+
array = [10, 20, 30]
|
82
|
+
array.include?(array.random!) # returns false
|
83
|
+
```
|
84
|
+
|
85
|
+
## Added by Enumerable
|
86
|
+
- [#clean](ENUMERABLE_README.md#clean)
|
87
|
+
- [#clean!](ENUMERABLE_README.md#clean!)
|
88
|
+
- [#map_and_find](ENUMERABLE_README.md#map_and_find)
|
89
|
+
- [#map_and_select](ENUMERABLE_README.md#map_and_select)
|
90
|
+
- [#map_to_hash](ENUMERABLE_README.md#map_to_hash)
|
91
|
+
|
92
|
+
## Added by Object
|
93
|
+
- [#is_any?](OBJECT_README.md#is_any?)
|
94
|
+
- [#trueful?](OBJECT_README.md#trueful?)
|
95
|
+
|
96
|
+
## Added by Class
|
97
|
+
- [.default_value](CLASS_README.md#default_value)
|
98
|
+
- [.default_values](CLASS_README.md#default_values)
|
99
|
+
- [.default_reader](CLASS_README.md#default_reader)
|
100
|
+
- [.default_readers](CLASS_README.md#default_readers)
|
data/CLASS_README.md
ADDED
@@ -0,0 +1,154 @@
|
|
1
|
+
## Class
|
2
|
+
|
3
|
+
### #default_value
|
4
|
+
Adds a method that will return a default value
|
5
|
+
|
6
|
+
the value is evaluated on class definition, meaning that
|
7
|
+
everytime it is called it will be the same instance
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
class MyClass
|
11
|
+
default_value :name, 'John'
|
12
|
+
end
|
13
|
+
|
14
|
+
MyClass.new.name # returns 'John'
|
15
|
+
```
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
class MyClass
|
19
|
+
default_value :name, 'John'
|
20
|
+
end
|
21
|
+
|
22
|
+
instance = MyClass.new
|
23
|
+
other = MyClass.new
|
24
|
+
|
25
|
+
instance.name.equal?('John') # returns false
|
26
|
+
instance.name.equal?(other.name) # returns true
|
27
|
+
```
|
28
|
+
|
29
|
+
### #default_values
|
30
|
+
Adds methods that will return a default value
|
31
|
+
|
32
|
+
the value is evaluated on class definition, meaning that
|
33
|
+
everytime any of them are called they will return the same instance
|
34
|
+
of value
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
class MyClass
|
38
|
+
default_values :name, :nick_name, 'John'
|
39
|
+
end
|
40
|
+
|
41
|
+
MyClass.new.name # returns 'John'
|
42
|
+
MyClass.new.nick_name # returns 'John'
|
43
|
+
```
|
44
|
+
|
45
|
+
```ruby
|
46
|
+
class MyClass
|
47
|
+
default_values :name, :nick_name, 'John'
|
48
|
+
end
|
49
|
+
|
50
|
+
instance = MyClass.new
|
51
|
+
other = MyClass.new
|
52
|
+
|
53
|
+
instance.name.equal?('John') # returns false
|
54
|
+
instance.name.equal?(other.name) # returns true
|
55
|
+
```
|
56
|
+
|
57
|
+
```ruby
|
58
|
+
class MyClass
|
59
|
+
default_values :name, :nick_name, 'John'
|
60
|
+
end
|
61
|
+
|
62
|
+
instance = MyClass.new
|
63
|
+
|
64
|
+
instance.nick_name.equal?('John') # returns false
|
65
|
+
instance.nick_name.equal?(instance.name) # returns true
|
66
|
+
```
|
67
|
+
|
68
|
+
### #default_reader
|
69
|
+
Creates a method that will act as reader, but will
|
70
|
+
return a default value when the instance variable
|
71
|
+
was never set
|
72
|
+
|
73
|
+
```ruby
|
74
|
+
class Person
|
75
|
+
attr_writer :name
|
76
|
+
default_reader :name, 'John Doe'
|
77
|
+
end
|
78
|
+
|
79
|
+
model = Person.new
|
80
|
+
|
81
|
+
model.name # returns 'John Doe'
|
82
|
+
```
|
83
|
+
|
84
|
+
```ruby
|
85
|
+
model = Person.new
|
86
|
+
model.name # returns 'John Doe'
|
87
|
+
|
88
|
+
model.name = 'Joe'
|
89
|
+
model.name # returns 'Joe'
|
90
|
+
|
91
|
+
model.name = nil
|
92
|
+
model.name # returns nil
|
93
|
+
```
|
94
|
+
|
95
|
+
```ruby
|
96
|
+
model = Person.new
|
97
|
+
model.name # returns 'John Doe'
|
98
|
+
|
99
|
+
model.name = 'Bob'
|
100
|
+
model.name # returns 'Bob'
|
101
|
+
Person.new.name # returns 'John Doe'
|
102
|
+
```
|
103
|
+
|
104
|
+
### #default_readers
|
105
|
+
Creates methods that will act as readers, but will
|
106
|
+
return a default value when the instance variables
|
107
|
+
ware never set
|
108
|
+
|
109
|
+
```ruby
|
110
|
+
class Person
|
111
|
+
attr_writer :cars, :houses
|
112
|
+
default_reader :cars, :houses, 'none'
|
113
|
+
end
|
114
|
+
|
115
|
+
model = Person.new
|
116
|
+
|
117
|
+
model.cars # returns 'none'
|
118
|
+
```
|
119
|
+
|
120
|
+
```ruby
|
121
|
+
model = Person.new
|
122
|
+
model.cars # returns 'none'
|
123
|
+
|
124
|
+
model.cars = ['volvo']
|
125
|
+
model.cars # returns ['volvo']
|
126
|
+
|
127
|
+
model.cars = nil
|
128
|
+
model.cars # returns nil
|
129
|
+
```
|
130
|
+
|
131
|
+
```ruby
|
132
|
+
model = Person.new
|
133
|
+
model.cars # returns 'none'
|
134
|
+
|
135
|
+
model.cars = ['volvo']
|
136
|
+
model.cars # returns ['volvo']
|
137
|
+
Person.new.houses # returns 'none'
|
138
|
+
```
|
139
|
+
|
140
|
+
```ruby
|
141
|
+
model.cars # returns 'none'
|
142
|
+
model.cars.equal?('none') # returns false
|
143
|
+
model.nick_name.equal?(model.houses) # returns true
|
144
|
+
```
|
145
|
+
|
146
|
+
## Added by Object
|
147
|
+
- [#is_any?](OBJECT_README.md#is_any?)
|
148
|
+
- [#trueful?](OBJECT_README.md#trueful?)
|
149
|
+
|
150
|
+
## Added by Class
|
151
|
+
- [.default_value](CLASS_README.md#default_value)
|
152
|
+
- [.default_values](CLASS_README.md#default_values)
|
153
|
+
- [.default_reader](CLASS_README.md#default_reader)
|
154
|
+
- [.default_readers](CLASS_README.md#default_readers)
|
data/DATE_README.md
CHANGED
@@ -5,15 +5,25 @@
|
|
5
5
|
Returns the number of days between 2 dates
|
6
6
|
|
7
7
|
```ruby
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
```
|
8
|
+
date = Date.new(2106, 10, 11)
|
9
|
+
future = date + 1.year
|
10
|
+
past = date - 1.year
|
12
11
|
|
13
|
-
|
14
|
-
d1.days_between(d2) == 365
|
15
|
-
```
|
12
|
+
date.days_between(future)
|
16
13
|
|
17
|
-
|
18
|
-
|
14
|
+
# returns 365
|
15
|
+
|
16
|
+
date.days_between(past)
|
17
|
+
|
18
|
+
# returns 366
|
19
19
|
```
|
20
|
+
|
21
|
+
## Added by Object
|
22
|
+
- [#is_any?](ENUMERABLE_README.md#is_any?)
|
23
|
+
- [#trueful?](ENUMERABLE_README.md#trueful?)
|
24
|
+
|
25
|
+
## Added by Class
|
26
|
+
- [.default_value](CLASS_README.md#default_value)
|
27
|
+
- [.default_values](CLASS_README.md#default_values)
|
28
|
+
- [.default_reader](CLASS_README.md#default_reader)
|
29
|
+
- [.default_readers](CLASS_README.md#default_readers)
|
data/Dockerfile
CHANGED
data/ENUMERABLE_README.md
CHANGED
@@ -1,12 +1,162 @@
|
|
1
1
|
## Enumerable
|
2
2
|
|
3
|
+
### #clean
|
4
|
+
Retruns a copy of the enumerator removing empty values from it
|
5
|
+
|
6
|
+
```ruby
|
7
|
+
hash = { b: [], c: nil, d: {}, e: '' }
|
8
|
+
array = [1, [], nil, {}, '', hash]
|
9
|
+
|
10
|
+
array.clean # returns [1]
|
11
|
+
```
|
12
|
+
|
13
|
+
|
3
14
|
### #clean!
|
4
|
-
Cleans empty values from
|
15
|
+
Cleans empty values from an enumerator
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
hash = {
|
19
|
+
a: 1,
|
20
|
+
b: [],
|
21
|
+
c: nil,
|
22
|
+
d: {},
|
23
|
+
e: '',
|
24
|
+
f: {
|
25
|
+
b: [],
|
26
|
+
c: nil,
|
27
|
+
d: {},
|
28
|
+
e: ''
|
29
|
+
}
|
30
|
+
}
|
31
|
+
|
32
|
+
hash.clean! # changes hash to { a: 1 }
|
33
|
+
```
|
34
|
+
|
35
|
+
### #map_and_find
|
36
|
+
|
37
|
+
Applies ```#map``` stoping and returning on the first result
|
38
|
+
that is evaluated as false
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
class Client
|
42
|
+
def initialize(existing_ids)
|
43
|
+
@existing_ids = existing_ids
|
44
|
+
end
|
45
|
+
|
46
|
+
def request(id)
|
47
|
+
requested << id
|
48
|
+
|
49
|
+
return unless existing_ids.include?(id)
|
50
|
+
{ id: id }
|
51
|
+
end
|
52
|
+
|
53
|
+
def requested
|
54
|
+
@requested ||= []
|
55
|
+
end
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
attr_reader :existing_ids
|
60
|
+
end
|
61
|
+
|
62
|
+
client = Client.new([1, 11, 21, 31, 41, 51])
|
63
|
+
|
64
|
+
ids = [10, 21, 30, 31, 51, 55]
|
65
|
+
|
66
|
+
ids.map_and_find { |id| client.request(id) } # returns { id: 21 }
|
67
|
+
|
68
|
+
client.requested # returns [10, 21]
|
69
|
+
```
|
70
|
+
|
71
|
+
### #map_and_select
|
72
|
+
|
73
|
+
Maps returning only non-false and non-nil values
|
74
|
+
|
5
75
|
```ruby
|
6
|
-
|
76
|
+
class Client
|
77
|
+
def initialize(existing_ids)
|
78
|
+
@existing_ids = existing_ids
|
79
|
+
end
|
80
|
+
|
81
|
+
def request(id)
|
82
|
+
requested << id
|
83
|
+
|
84
|
+
return unless existing_ids.include?(id)
|
85
|
+
{ id: id }
|
86
|
+
end
|
87
|
+
|
88
|
+
def requested
|
89
|
+
@requested ||= []
|
90
|
+
end
|
91
|
+
|
92
|
+
private
|
93
|
+
|
94
|
+
attr_reader :existing_ids
|
95
|
+
end
|
96
|
+
|
97
|
+
client = Client.new([1, 11, 21, 31, 41, 51])
|
98
|
+
|
99
|
+
ids = [10, 21, 30, 31, 51, 55]
|
100
|
+
|
101
|
+
ids.map_and_select do |id|
|
102
|
+
client.request(id)
|
103
|
+
end # returns [{
|
104
|
+
# id: 21
|
105
|
+
# }, {
|
106
|
+
# id: 31
|
107
|
+
# }, {
|
108
|
+
# id: 51
|
109
|
+
# }]
|
7
110
|
```
|
8
|
-
|
111
|
+
|
112
|
+
### #map_to_hash
|
113
|
+
Maps and uses mapped values as hash values, and original values
|
114
|
+
as hash keys
|
115
|
+
|
9
116
|
```ruby
|
10
|
-
|
117
|
+
class Client
|
118
|
+
def initialize(existing_ids)
|
119
|
+
@existing_ids = existing_ids
|
120
|
+
end
|
121
|
+
|
122
|
+
def request(id)
|
123
|
+
requested << id
|
124
|
+
|
125
|
+
return unless existing_ids.include?(id)
|
126
|
+
{ id: id }
|
127
|
+
end
|
128
|
+
|
129
|
+
def requested
|
130
|
+
@requested ||= []
|
131
|
+
end
|
132
|
+
|
133
|
+
private
|
134
|
+
|
135
|
+
attr_reader :existing_ids
|
136
|
+
end
|
137
|
+
|
138
|
+
client = Client.new([1, 11, 21, 31, 41, 51])
|
139
|
+
|
140
|
+
ids = [10, 21, 30, 31, 51, 55]
|
141
|
+
|
142
|
+
ids.map_to_hash do |id|
|
143
|
+
client.request(id)
|
144
|
+
end # returns {
|
145
|
+
# 10 => nil,
|
146
|
+
# 21 => { id: 21 },
|
147
|
+
# 30 => nil,
|
148
|
+
# 31 => { id: 31 },
|
149
|
+
# 51 => { id: 51 },
|
150
|
+
# 55 => nil
|
151
|
+
# }
|
11
152
|
```
|
12
153
|
|
154
|
+
## Added by Object
|
155
|
+
- [#is_any?](OBJECT_README.md#is_any?)
|
156
|
+
- [#trueful?](OBJECT_README.md#trueful?)
|
157
|
+
|
158
|
+
## Added by Class
|
159
|
+
- [.default_value](CLASS_README.md#default_value)
|
160
|
+
- [.default_values](CLASS_README.md#default_values)
|
161
|
+
- [.default_reader](CLASS_README.md#default_reader)
|
162
|
+
- [.default_readers](CLASS_README.md#default_readers)
|