lhs 1.2.0 → 1.2.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/lhs/concerns/item/save.rb +2 -2
- data/lib/lhs/concerns/item/update.rb +2 -2
- data/lib/lhs/concerns/service/all.rb +7 -1
- data/lib/lhs/data.rb +1 -1
- data/lib/lhs/proxy.rb +1 -1
- data/lib/lhs/version.rb +1 -1
- data/spec/data/merge_spec.rb +1 -1
- data/spec/proxy/load_spec.rb +3 -3
- 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: 371888c99881b65fa1571b7ab9d0639b784a66de
|
4
|
+
data.tar.gz: 41bcc0e2446cf6ea11b8469d0bb8c78494bf3708
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8bed4523267443a431e667ab516589d69c49da957cdcccf798e302cbc4775638b039f29eada8e1e8643435be196513005176e36119d4b468fac2b81ce22ee342
|
7
|
+
data.tar.gz: 22f46fdcab0190ec3f890b2f2191120d55eb9c7bf822bfcdf5be180d43561cdb33098a20cd354518364829399ffbb28c91173a77fd26cbd62f3060dc6e9374c9
|
@@ -21,8 +21,8 @@ class LHS::Item < LHS::Proxy
|
|
21
21
|
else
|
22
22
|
service.instance.find_endpoint(data).compile(data)
|
23
23
|
end
|
24
|
-
|
25
|
-
self._data.
|
24
|
+
data = service.instance.request(method: :post, url: url, body: data.to_json, headers: {'Content-Type' => 'application/json'})
|
25
|
+
self._data.merge_raw!(data)
|
26
26
|
true
|
27
27
|
end
|
28
28
|
end
|
@@ -16,8 +16,8 @@ class LHS::Item < LHS::Proxy
|
|
16
16
|
def update!(params)
|
17
17
|
service = _data._root._service
|
18
18
|
data = _data._raw.dup
|
19
|
-
|
20
|
-
self._data.
|
19
|
+
data = service.instance.request(method: :post, url: href, body: data.merge(params).to_json, headers: {'Content-Type' => 'application/json'})
|
20
|
+
self._data.merge_raw!(data)
|
21
21
|
true
|
22
22
|
end
|
23
23
|
end
|
@@ -7,9 +7,15 @@ class LHS::Service
|
|
7
7
|
|
8
8
|
module ClassMethods
|
9
9
|
|
10
|
+
# Should be an edge case but sometimes all objects from a certain resource
|
11
|
+
# are required. In this case we load the first page with the default max limit,
|
12
|
+
# compute the amount of left over requests, do all the the left over requests
|
13
|
+
# for the following pages and concatenate all the results in order to return
|
14
|
+
# all the objects for a given resource.
|
10
15
|
def all(params = {})
|
11
16
|
all = []
|
12
|
-
|
17
|
+
default_max_limit = 100
|
18
|
+
data = instance.request(params: params.merge(limit: default_max_limit))
|
13
19
|
all.concat(data._raw['items'])
|
14
20
|
total_left = data._raw['total'] - data.count
|
15
21
|
limit = data._raw['limit'] || data.count
|
data/lib/lhs/data.rb
CHANGED
data/lib/lhs/proxy.rb
CHANGED
data/lib/lhs/version.rb
CHANGED
data/spec/data/merge_spec.rb
CHANGED
data/spec/proxy/load_spec.rb
CHANGED
@@ -32,14 +32,14 @@ describe LHS::Proxy do
|
|
32
32
|
context 'load' do
|
33
33
|
|
34
34
|
it 'is loading data remotely when not present yet' do
|
35
|
-
link.load!.id
|
35
|
+
expect(link.load!.id).to be
|
36
|
+
expect(link.id).to be
|
36
37
|
end
|
37
38
|
|
38
39
|
it 'can be reloaded' do
|
39
|
-
link.load!.id
|
40
|
+
expect(link.load!.id).to be
|
40
41
|
stub_request(:get, 'http://datastore-stg.lb-service.sunrise.intra.local.ch/v2/content-ads/51dfc5690cf271c375c5a12d')
|
41
42
|
.to_return(status: 404)
|
42
|
-
link.load!.id
|
43
43
|
expect(-> { link.reload!.id })
|
44
44
|
.to raise_error LHC::NotFound
|
45
45
|
end
|