hotel_beds 0.5.0 → 0.6.0
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/hotel_beds/model/{service.rb → hotel_service.rb} +2 -5
- data/lib/hotel_beds/model/purchase.rb +2 -2
- data/lib/hotel_beds/parser.rb +2 -1
- data/lib/hotel_beds/parser/{service.rb → hotel_service.rb} +2 -6
- data/lib/hotel_beds/parser/purchase.rb +2 -2
- data/lib/hotel_beds/version.rb +1 -1
- data/spec/lib/hotel_beds/parser/{service_spec.rb → hotel_service_spec.rb} +5 -4
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: cf57f2506ec0688c5053d16cce8650d6482ad457
|
|
4
|
+
data.tar.gz: 2443235be43ea5872b2cc8592298bb7a680328e4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 958490e3fb55593abbee5b656d880fa7b20ae91109922a9bb59c298b0c4951ac4c36cd17d7bd695d15dd125df04974704d54f1a36913fa8c775871812cb6bc2a
|
|
7
|
+
data.tar.gz: 1677a0f5131a6f20bb3c52338a58078dc76271c51e2ffca668a02dc9e3ec8facee3a8ba1f0908c16291e219062b3152854865d2e29cf925b3e55089810521cc8
|
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
require "hotel_beds/model"
|
|
1
|
+
require "hotel_beds/model/hotel"
|
|
2
2
|
require "hotel_beds/model/contract"
|
|
3
3
|
|
|
4
4
|
module HotelBeds
|
|
5
5
|
module Model
|
|
6
|
-
class
|
|
7
|
-
include HotelBeds::Model
|
|
8
|
-
|
|
6
|
+
class HotelService < Hotel
|
|
9
7
|
# attributes
|
|
10
8
|
attribute :id, String
|
|
11
9
|
attribute :type, String
|
|
12
10
|
attribute :status, String
|
|
13
|
-
attribute :contract, HotelBeds::Model::Contract
|
|
14
11
|
attribute :date_from, Date
|
|
15
12
|
attribute :date_to, Date
|
|
16
13
|
attribute :currency, String
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require "hotel_beds/model"
|
|
2
|
-
require "hotel_beds/model/
|
|
2
|
+
require "hotel_beds/model/hotel_service"
|
|
3
3
|
require "hotel_beds/model/customer"
|
|
4
4
|
|
|
5
5
|
module HotelBeds
|
|
@@ -14,7 +14,7 @@ module HotelBeds
|
|
|
14
14
|
attribute :status, String
|
|
15
15
|
attribute :currency, String
|
|
16
16
|
attribute :amount, BigDecimal
|
|
17
|
-
attribute :services, Array[HotelBeds::Model::
|
|
17
|
+
attribute :services, Array[HotelBeds::Model::HotelService]
|
|
18
18
|
attribute :holder, HotelBeds::Model::Customer
|
|
19
19
|
end
|
|
20
20
|
end
|
data/lib/hotel_beds/parser.rb
CHANGED
|
@@ -21,12 +21,13 @@ module HotelBeds
|
|
|
21
21
|
end
|
|
22
22
|
|
|
23
23
|
def retrieve(doc)
|
|
24
|
+
return nil if doc.nil?
|
|
24
25
|
if custom
|
|
25
26
|
custom.yield(doc)
|
|
26
27
|
elsif multiple
|
|
27
28
|
doc.css(selector).map(&method(:read_element))
|
|
28
29
|
elsif selector
|
|
29
|
-
(element = doc.at_css(selector)) && read_element(element) or nil
|
|
30
|
+
(element = doc.at_css(selector)) && element && read_element(element) or nil
|
|
30
31
|
else
|
|
31
32
|
read_element(doc)
|
|
32
33
|
end
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
require "hotel_beds/parser"
|
|
1
|
+
require "hotel_beds/parser/hotel"
|
|
2
2
|
require "hotel_beds/parser/contract"
|
|
3
3
|
|
|
4
4
|
module HotelBeds
|
|
5
5
|
module Parser
|
|
6
|
-
class
|
|
7
|
-
include HotelBeds::Parser
|
|
8
|
-
|
|
6
|
+
class HotelService < Hotel
|
|
9
7
|
# attributes
|
|
10
8
|
attribute :id, attr: "SPUI"
|
|
11
9
|
attribute :type, attr: "xsi:type"
|
|
@@ -14,8 +12,6 @@ module HotelBeds
|
|
|
14
12
|
attribute :date_to, selector: "DateTo", attr: "date"
|
|
15
13
|
attribute :currency, selector: "Currency", attr: "code"
|
|
16
14
|
attribute :amount, selector: "TotalAmount"
|
|
17
|
-
attribute :contract, selector: "Contract",
|
|
18
|
-
parser: HotelBeds::Parser::Contract
|
|
19
15
|
end
|
|
20
16
|
end
|
|
21
17
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
require "hotel_beds/parser"
|
|
2
|
-
require "hotel_beds/parser/
|
|
2
|
+
require "hotel_beds/parser/hotel_service"
|
|
3
3
|
require "hotel_beds/parser/customer"
|
|
4
4
|
|
|
5
5
|
module HotelBeds
|
|
@@ -16,7 +16,7 @@ module HotelBeds
|
|
|
16
16
|
attribute :amount, selector: "TotalPrice"
|
|
17
17
|
attribute :services,
|
|
18
18
|
selector: "ServiceList > Service", multiple: true,
|
|
19
|
-
parser: HotelBeds::Parser::
|
|
19
|
+
parser: HotelBeds::Parser::HotelService
|
|
20
20
|
attribute :holder, selector: "Holder",
|
|
21
21
|
parser: HotelBeds::Parser::Customer
|
|
22
22
|
end
|
data/lib/hotel_beds/version.rb
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
require "nokogiri"
|
|
2
2
|
require "ostruct"
|
|
3
|
-
require "hotel_beds/parser/
|
|
3
|
+
require "hotel_beds/parser/hotel_service"
|
|
4
4
|
|
|
5
|
-
RSpec.describe HotelBeds::Parser::
|
|
5
|
+
RSpec.describe HotelBeds::Parser::HotelService do
|
|
6
6
|
let(:source) do
|
|
7
|
-
%Q(<
|
|
7
|
+
%Q(<Service xsi:type="#{attrs[:type]}" SPUI="#{attrs[:id]}">
|
|
8
8
|
<Contract>
|
|
9
9
|
<Name>#{attrs[:contract_name]}</Name>
|
|
10
10
|
<IncomingOffice code="#{attrs[:contract_incoming_office_code]}" />
|
|
@@ -14,12 +14,13 @@ RSpec.describe HotelBeds::Parser::Service do
|
|
|
14
14
|
<DateTo date="#{attrs[:check_out_date]}" />
|
|
15
15
|
<Currency code="#{attrs[:currency]}">Great British Pounds</Currency>
|
|
16
16
|
<TotalAmount>#{attrs[:amount]}</TotalAmount>
|
|
17
|
-
</
|
|
17
|
+
</Service>)
|
|
18
18
|
end
|
|
19
19
|
|
|
20
20
|
let(:attrs) do
|
|
21
21
|
{
|
|
22
22
|
id: "123",
|
|
23
|
+
type: "ServiceHotel",
|
|
23
24
|
contract_name: "Test",
|
|
24
25
|
contract_incoming_office_code: "Big Corp",
|
|
25
26
|
check_in_date: "20140505",
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hotel_beds
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.6.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Townsend
|
|
@@ -200,12 +200,12 @@ files:
|
|
|
200
200
|
- lib/hotel_beds/model/customer.rb
|
|
201
201
|
- lib/hotel_beds/model/destination.rb
|
|
202
202
|
- lib/hotel_beds/model/hotel.rb
|
|
203
|
+
- lib/hotel_beds/model/hotel_service.rb
|
|
203
204
|
- lib/hotel_beds/model/price.rb
|
|
204
205
|
- lib/hotel_beds/model/purchase.rb
|
|
205
206
|
- lib/hotel_beds/model/requested_room.rb
|
|
206
207
|
- lib/hotel_beds/model/room.rb
|
|
207
208
|
- lib/hotel_beds/model/search_result.rb
|
|
208
|
-
- lib/hotel_beds/model/service.rb
|
|
209
209
|
- lib/hotel_beds/parser.rb
|
|
210
210
|
- lib/hotel_beds/parser/available_room.rb
|
|
211
211
|
- lib/hotel_beds/parser/cancellation_policy.rb
|
|
@@ -215,10 +215,10 @@ files:
|
|
|
215
215
|
- lib/hotel_beds/parser/destination.rb
|
|
216
216
|
- lib/hotel_beds/parser/errors.rb
|
|
217
217
|
- lib/hotel_beds/parser/hotel.rb
|
|
218
|
+
- lib/hotel_beds/parser/hotel_service.rb
|
|
218
219
|
- lib/hotel_beds/parser/price.rb
|
|
219
220
|
- lib/hotel_beds/parser/purchase.rb
|
|
220
221
|
- lib/hotel_beds/parser/room_grouper.rb
|
|
221
|
-
- lib/hotel_beds/parser/service.rb
|
|
222
222
|
- lib/hotel_beds/purchase_confirm/envelope.rb
|
|
223
223
|
- lib/hotel_beds/purchase_confirm/operation.rb
|
|
224
224
|
- lib/hotel_beds/purchase_confirm/request.rb
|
|
@@ -236,8 +236,8 @@ files:
|
|
|
236
236
|
- spec/lib/hotel_beds/connection_spec.rb
|
|
237
237
|
- spec/lib/hotel_beds/hotel_search/request_spec.rb
|
|
238
238
|
- spec/lib/hotel_beds/model_spec.rb
|
|
239
|
+
- spec/lib/hotel_beds/parser/hotel_service_spec.rb
|
|
239
240
|
- spec/lib/hotel_beds/parser/room_grouper_spec.rb
|
|
240
|
-
- spec/lib/hotel_beds/parser/service_spec.rb
|
|
241
241
|
- spec/lib/hotel_beds/version_spec.rb
|
|
242
242
|
- spec/spec_helper.rb
|
|
243
243
|
homepage: https://www.hotelsindex.com/open-source
|
|
@@ -273,7 +273,7 @@ test_files:
|
|
|
273
273
|
- spec/lib/hotel_beds/connection_spec.rb
|
|
274
274
|
- spec/lib/hotel_beds/hotel_search/request_spec.rb
|
|
275
275
|
- spec/lib/hotel_beds/model_spec.rb
|
|
276
|
+
- spec/lib/hotel_beds/parser/hotel_service_spec.rb
|
|
276
277
|
- spec/lib/hotel_beds/parser/room_grouper_spec.rb
|
|
277
|
-
- spec/lib/hotel_beds/parser/service_spec.rb
|
|
278
278
|
- spec/lib/hotel_beds/version_spec.rb
|
|
279
279
|
- spec/spec_helper.rb
|