looksist 0.1.0 → 0.1.1
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/lib/looksist/hashed.rb +1 -0
- data/lib/looksist/version.rb +1 -1
- data/spec/looksist/hashed_spec.rb +43 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7699db1f029bfd6f15c34c647b972ad4ff8a7a55
|
4
|
+
data.tar.gz: e2131d4bd14186ccdcf5993204e8d0e6f9abdc06
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 13060ecc41d9c3c2d306f7b5e5cb18ea988afce19c0b4b9c6dd33399f9fadaa865788b92feffc735cbf247374338a00c1e766c88ff35e65b2b78d37715638187
|
7
|
+
data.tar.gz: 1d897d919454bd425738421ac0042ea4279f4e24ba00a4619d4683a8ffe22dbfa24518413858951e14c7f2ebbf87511f00ce68de40f22fd6c3c7c10bcd958bab
|
data/lib/looksist/hashed.rb
CHANGED
data/lib/looksist/version.rb
CHANGED
@@ -110,7 +110,7 @@ describe Looksist::Hashed do
|
|
110
110
|
inject after: :metrics, at: '$.table.inner_table', using: :employee_id, populate: :employee_name
|
111
111
|
end
|
112
112
|
|
113
|
-
expect(@mock).to receive(:mget).with(
|
113
|
+
expect(@mock).to receive(:mget).with(%w(employees/10 employees/20)).and_return(['emp 1', 'emp 2'])
|
114
114
|
|
115
115
|
expect(DeepHash.new.metrics).to eq({table: {
|
116
116
|
inner_table: {
|
@@ -135,7 +135,7 @@ describe Looksist::Hashed do
|
|
135
135
|
inject after: :metrics, at: :table, using: :employee_id, populate: :employee_name
|
136
136
|
end
|
137
137
|
|
138
|
-
expect(@mock).to receive(:mget).with(
|
138
|
+
expect(@mock).to receive(:mget).with(%w(employees/1 employees/2)).and_return(['emp 1', 'emp 2'])
|
139
139
|
|
140
140
|
expect(HashService1.new.metrics).to eq({table: {
|
141
141
|
employee_id: [1, 2],
|
@@ -160,9 +160,9 @@ describe Looksist::Hashed do
|
|
160
160
|
inject after: :metrics, at: :table, using: :employer_id, populate: :employer_name
|
161
161
|
end
|
162
162
|
|
163
|
-
expect(@mock).to receive(:mget).with(
|
163
|
+
expect(@mock).to receive(:mget).with(%w(employees/5 employees/6)).and_return(['emp 5', 'emp 6'])
|
164
164
|
|
165
|
-
expect(@mock).to receive(:mget).with(
|
165
|
+
expect(@mock).to receive(:mget).with(%w(employers/3 employers/4)).and_return(['empr 3', 'empr 4'])
|
166
166
|
|
167
167
|
expect(HashService.new.metrics).to eq({table: {
|
168
168
|
employee_id: [5, 6],
|
@@ -192,9 +192,9 @@ describe Looksist::Hashed do
|
|
192
192
|
inject after: :metrics, at: '$.table.database', using: :employer_id, populate: :employer_name
|
193
193
|
end
|
194
194
|
|
195
|
-
expect(@mock).to receive(:mget).with(
|
195
|
+
expect(@mock).to receive(:mget).with(%w(employees/15 employees/16)).and_return(['emp 15', 'emp 16'])
|
196
196
|
|
197
|
-
expect(@mock).to receive(:mget).with(
|
197
|
+
expect(@mock).to receive(:mget).with(%w(employers/13 employers/14)).and_return(['empr 13', 'empr 14'])
|
198
198
|
|
199
199
|
expect(EmployeeHash.new.metrics).to eq({table: {
|
200
200
|
database: {
|
@@ -206,6 +206,41 @@ describe Looksist::Hashed do
|
|
206
206
|
}})
|
207
207
|
end
|
208
208
|
|
209
|
+
context 'handle no data' do
|
210
|
+
it 'should not inject when data is not available' do
|
211
|
+
class EmptyResponse
|
212
|
+
include Looksist
|
213
|
+
def empty
|
214
|
+
{}
|
215
|
+
end
|
216
|
+
inject after: :empty, at: :'$.table', using: :subcat_id, populate: :sub_cat_name
|
217
|
+
end
|
218
|
+
expect(EmptyResponse.new.empty).to eq({})
|
219
|
+
end
|
220
|
+
|
221
|
+
it 'should be capable to deep lookup and inject' do
|
222
|
+
class EmptyMenu
|
223
|
+
include Looksist
|
224
|
+
|
225
|
+
def metrics
|
226
|
+
{
|
227
|
+
table: {
|
228
|
+
menu: []
|
229
|
+
}
|
230
|
+
}
|
231
|
+
end
|
232
|
+
|
233
|
+
inject after: :metrics, at: '$.table.menu', using: :item_id, populate: :item_name
|
234
|
+
end
|
235
|
+
|
236
|
+
expect(EmptyMenu.new.metrics).to eq({
|
237
|
+
table: {
|
238
|
+
menu: []
|
239
|
+
}
|
240
|
+
})
|
241
|
+
end
|
242
|
+
end
|
243
|
+
|
209
244
|
|
210
245
|
context 'multiple methods and injections' do
|
211
246
|
it 'should inject multiple attribute to an existing hash' do
|
@@ -232,9 +267,9 @@ describe Looksist::Hashed do
|
|
232
267
|
inject after: :stock, at: :table, using: :dc_id, populate: :dc_name
|
233
268
|
end
|
234
269
|
|
235
|
-
expect(@mock).to receive(:mget).with(
|
270
|
+
expect(@mock).to receive(:mget).with(%w(shrinks/1 shrinks/2)).and_return(['shrink 1', 'shrink 2'])
|
236
271
|
|
237
|
-
expect(@mock).to receive(:mget).with(
|
272
|
+
expect(@mock).to receive(:mget).with(%w(dcs/7 dcs/8)).and_return(['dc 7', 'dc 8'])
|
238
273
|
|
239
274
|
hash_service_super = HashServiceSuper.new
|
240
275
|
expect(hash_service_super.shrinkage).to eq({table: {
|