hotel_beds 0.1.1 → 0.1.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: 10469eb089bdf74c2f5bfb79c02780e3247f38fe
4
- data.tar.gz: 7f40bd15278d41318d7d394ce027a93941ddaf1a
3
+ metadata.gz: 4a39b239887e7d4c9222e5f4b3ea03d76f5cfe7f
4
+ data.tar.gz: 235bd05502754386b33736af7be9e961ee628c7a
5
5
  SHA512:
6
- metadata.gz: fb9730199eaf2632e091b10296a9ac19a00aa11be15a24cab56cb448f41b9fd2683ac0790e7dafd375060498dc70f9e63c0e6612e0eac3f4e86357e4a05948ea
7
- data.tar.gz: 6e18d34e27e47ec58c4fc61a8cef9fec1700bfacb7d36b37ecbeca68aac4a9854abd11ca4b8635bc996e285c1ceaa21a258219e8da8d2fa3fb358bf221fd91a6
6
+ metadata.gz: 37cfde29c5c6200bd50fa01450b014a8254c5241994d0dbab0f9f358e282ce590ebcce339727df88edf601cb7fe62712f987b2ea31286705d11bafeb188bdd43
7
+ data.tar.gz: 96427217d94ef59fe2a7217028fe839c841816cd09f1b5f9ec27b5384f2f30ca749e18a2d8fc6a1c5998e5ae24b94f3d30550ba12a648665d92d311b8e826f31
@@ -18,20 +18,35 @@ module HotelBeds
18
18
  elsif !response.success?
19
19
  errors.add(:base, "Request failed")
20
20
  end
21
+
22
+ body.css("ErrorList Error").each do |error|
23
+ errors.add(:base, [
24
+ (m = error.at_css("Message") && m.content),
25
+ (dm = error.at_css("DetailedMessage") && dm.content)
26
+ ].compact.join("\n"))
27
+ end
21
28
  end
22
29
  freeze
23
30
  end
24
31
 
25
32
  def inspect
26
- "<#{self.class.name} headers=#{headers.inspect} body=#{body.to_s}>"
33
+ "<#{self.class.name} errors=#{errors.inspect} headers=#{headers.inspect} body=#{body.to_s}>"
27
34
  end
28
35
 
29
36
  def current_page
30
- Integer(body.css("PaginationData").first.attr("currentPage"))
37
+ if data = pagination_data
38
+ Integer(data.attr("currentPage"))
39
+ else
40
+ 0
41
+ end
31
42
  end
32
43
 
33
44
  def total_pages
34
- Integer(body.css("PaginationData").first.attr("totalPages"))
45
+ if data = pagination_data
46
+ Integer(data.attr("totalPages"))
47
+ else
48
+ 0
49
+ end
35
50
  end
36
51
 
37
52
  def hotels
@@ -48,6 +63,10 @@ module HotelBeds
48
63
  end
49
64
 
50
65
  private
66
+ def pagination_data
67
+ body.at_css("PaginationData")
68
+ end
69
+
51
70
  def parse_available_rooms(rooms)
52
71
  Array(rooms).map do |room|
53
72
  {
@@ -1,3 +1,3 @@
1
1
  module HotelBeds
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -36,6 +36,7 @@ RSpec.describe "performing a hotel search" do
36
36
 
37
37
  it "should return an array of the hotels available" do
38
38
  expect(subject.to_a).to be_kind_of(Array)
39
+ expect(subject.to_a).to_not be_empty
39
40
  expect(subject.first).to be_kind_of(HotelBeds::Model::Hotel)
40
41
  end
41
42
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hotel_beds
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Townsend
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-11 00:00:00.000000000 Z
11
+ date: 2014-07-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: savon