hotel_beds 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|