lhs 1.2.1 → 1.2.2

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: 371888c99881b65fa1571b7ab9d0639b784a66de
4
- data.tar.gz: 41bcc0e2446cf6ea11b8469d0bb8c78494bf3708
3
+ metadata.gz: 79706509847d5e009bdc036cd616b804d88c6dfa
4
+ data.tar.gz: 2530ee6f7e347584cba1ec46c51ff13291307950
5
5
  SHA512:
6
- metadata.gz: 8bed4523267443a431e667ab516589d69c49da957cdcccf798e302cbc4775638b039f29eada8e1e8643435be196513005176e36119d4b468fac2b81ce22ee342
7
- data.tar.gz: 22f46fdcab0190ec3f890b2f2191120d55eb9c7bf822bfcdf5be180d43561cdb33098a20cd354518364829399ffbb28c91173a77fd26cbd62f3060dc6e9374c9
6
+ metadata.gz: dbdb3f1be6fb3412a94f08f1bf55661b660ff7d0587a88b2f8704fce74ccdac57aaca9618d9bff8fd3cf8b34aec1b768b4fa25b6caa8ae30cc778b5912147b7b
7
+ data.tar.gz: 63ef7d714318e13a90507512bd7a8be1e2bc4122931e2acc3bfc262142d9fb0b5ea3d9ebdfa414f2c96788a7635e241754e48deb63049da3e9da4f3a0af3ff1e
@@ -72,6 +72,7 @@ class LHS::Collection < LHS::Proxy
72
72
  end
73
73
  end
74
74
 
75
+ delegate :last, to: :raw
75
76
  delegate :sample, to: :raw
76
77
  delegate :[], to: :raw
77
78
  end
@@ -19,10 +19,12 @@ class LHS::Service
19
19
  all.concat(data._raw['items'])
20
20
  total_left = data._raw['total'] - data.count
21
21
  limit = data._raw['limit'] || data.count
22
- requests = total_left / limit
23
- requests.times do |i|
24
- offset = limit * (i+1) + 1
25
- all.concat instance.request(params: params.merge(limit: limit, offset: offset))._raw['items']
22
+ if limit > 0
23
+ requests = total_left / limit
24
+ requests.times do |i|
25
+ offset = limit * (i+1) + 1
26
+ all.concat instance.request(params: params.merge(limit: limit, offset: offset))._raw['items']
27
+ end
26
28
  end
27
29
  LHS::Data.new(all, nil, self)
28
30
  end
data/lib/lhs/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module LHS
2
- VERSION = "1.2.1"
2
+ VERSION = "1.2.2"
3
3
  end
@@ -25,7 +25,7 @@ describe LHS::Collection do
25
25
  expect(all).to be_kind_of LHS::Data
26
26
  expect(all._proxy).to be_kind_of LHS::Collection
27
27
  expect(all.count).to eq 300
28
- expect(all[299]).to eq 300
28
+ expect(all.last).to eq 300
29
29
  end
30
30
 
31
31
  it 'also fetches all when there is not meta information for limit' do
@@ -39,7 +39,16 @@ describe LHS::Collection do
39
39
  expect(all).to be_kind_of LHS::Data
40
40
  expect(all._proxy).to be_kind_of LHS::Collection
41
41
  expect(all.count).to eq 300
42
- expect(all[299]).to eq 300
42
+ expect(all.last).to eq 300
43
+ end
44
+
45
+ it 'also works when there is no item in the first response' do
46
+ stub_request(:get, "#{datastore}/feedbacks?limit=100")
47
+ .to_return(status: 200, body: {items: [], total: 300, offset: 0}.to_json)
48
+ all = SomeService.all
49
+ expect(all).to be_kind_of LHS::Data
50
+ expect(all._proxy).to be_kind_of LHS::Collection
51
+ expect(all.count).to eq 0
43
52
  end
44
53
  end
45
54
  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.2.1
4
+ version: 1.2.2
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-09 00:00:00.000000000 Z
11
+ date: 2015-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lhc