lhs 1.1.0 → 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: edf3d097348d9c26b700bfe35df2d41b43052109
4
- data.tar.gz: 6b2130406f136714241764b4e9c8c6a418896d3b
3
+ metadata.gz: 43644dd5ced6e07d1930e1b8377070475780b45d
4
+ data.tar.gz: 0a1ae22b03cec9fa31f2d311419972ecf8f919c3
5
5
  SHA512:
6
- metadata.gz: 41c472f8a71fb9f3c7a9f79ed32363754b87cbeb0f7903d3f9e3bd54ed5011056f07b208b233bf8927308e0c5d79422f59eb9c785bb8b3b8af1f91db673d5664
7
- data.tar.gz: b875a7965529984e842668f6a92cf6b96b54929db5c8de38f6ceb5a6aa04eba94491046f0add8acb5750d06c97022fe440d5b9e07d8c24bfbfed1c0376fdf960
6
+ metadata.gz: b2196aa94fc0e7653a055b81faa2ce04a1152713e77ed61b8f899cd36c172b133e2a1ccc0b595aca498bac5d107f970171a053b60a48ede60f946f1360e48ec0
7
+ data.tar.gz: 96abeddb6c2b0c2b6bbd25890ca5b4f16b7cdcf907d12e470a1bb1e4b2122fe15b4e1de7f0bbf477d11b17b4d4a05bf2f8a75bdeab75c4be443186bc68c407d1
@@ -12,10 +12,11 @@ class LHS::Service
12
12
  data = instance.request(params: params.merge(limit: 100))
13
13
  all.concat(data._raw['items'])
14
14
  total_left = data._raw['total'] - data.count
15
- requests = total_left / data._raw['limit']
15
+ limit = data._raw['limit'] || data.count
16
+ requests = total_left / limit
16
17
  requests.times do |i|
17
- offset = data._raw['limit'] * (i+1) + 1
18
- all.concat instance.request(params: params.merge(limit: data._raw['limit'], offset: offset))._raw['items']
18
+ offset = limit * (i+1) + 1
19
+ all.concat instance.request(params: params.merge(limit: limit, offset: offset))._raw['items']
19
20
  end
20
21
  LHS::Data.new(all, nil, self)
21
22
  end
@@ -1,3 +1,3 @@
1
1
  module LHS
2
- VERSION = "1.1.0"
2
+ VERSION = "1.2.0"
3
3
  end
@@ -27,5 +27,19 @@ describe LHS::Collection do
27
27
  expect(all.count).to eq 300
28
28
  expect(all[299]).to eq 300
29
29
  end
30
+
31
+ it 'also fetches all when there is not meta information for limit' do
32
+ stub_request(:get, "#{datastore}/feedbacks?limit=100")
33
+ .to_return(status: 200, body: {items: (1..100).to_a, total: 300, offset: 0}.to_json)
34
+ stub_request(:get, "#{datastore}/feedbacks?limit=100&offset=101")
35
+ .to_return(status: 200, body: {items: (101..200).to_a, total: 300, offset: 101}.to_json)
36
+ stub_request(:get, "#{datastore}/feedbacks?limit=100&offset=201")
37
+ .to_return(status: 200, body: {items: (201..300).to_a, total: 300, offset: 201}.to_json)
38
+ all = SomeService.all
39
+ expect(all).to be_kind_of LHS::Data
40
+ expect(all._proxy).to be_kind_of LHS::Collection
41
+ expect(all.count).to eq 300
42
+ expect(all[299]).to eq 300
43
+ end
30
44
  end
31
45
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lhs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - local.ch
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-07 00:00:00.000000000 Z
11
+ date: 2015-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lhc