bookingsync-api 0.0.15 → 0.0.16
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/bookingsync/api/client/rentals.rb +16 -0
- data/lib/bookingsync/api/client.rb +2 -2
- data/lib/bookingsync/api/version.rb +1 -1
- data/spec/bookingsync/api/client/rentals_spec.rb +16 -0
- data/spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_search/rentals_ids_given/makes_a_search_within_given_rentals.yml +65 -0
- data/spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_search/returns_rentals.yml +65 -0
- metadata +22 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 08d6720058ec3d13d13447f1ceb97e39b44740d6
|
4
|
+
data.tar.gz: 1050fdba11d3ce21578028d35269484c31b9a288
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 08824e7c2896b4a51e38134c81758a212473b53ab481d4ce12cc17aca94ff7b04fea1d44ecee8085fc20caae3e487adb6a37fc102575fa77d9f8cc61c48c3b33
|
7
|
+
data.tar.gz: 5a8cfb28de21e09172eca667234c3ce08d4475c2f5b707380d2cd5894943b2bd720116f5f72a15fb04e2d819d8ca02d50e293b400f7bcf2941f96b52e1091d0a
|
@@ -18,6 +18,22 @@ module BookingSync::API
|
|
18
18
|
paginate :rentals, options, &block
|
19
19
|
end
|
20
20
|
|
21
|
+
# Search rentals
|
22
|
+
#
|
23
|
+
# Returns list of light rentals. Composed of id, initial_price,
|
24
|
+
# final_price and updated_at.
|
25
|
+
#
|
26
|
+
# @param options [Hash] A customizable set of options.
|
27
|
+
# @return [Array<BookingSync::API::Resource>] Array of light rentals.
|
28
|
+
#
|
29
|
+
# @example Search rentals by rental type
|
30
|
+
# villas = @api.rentals_search(rental_type: "villa")
|
31
|
+
def rentals_search(options = {}, &block)
|
32
|
+
ids = Array(options.delete(:ids))
|
33
|
+
path = ["rentals", ids.join(","), "search"].compact.join("/")
|
34
|
+
paginate path, options, &block
|
35
|
+
end
|
36
|
+
|
21
37
|
# Create a new rental
|
22
38
|
#
|
23
39
|
# @param options [Hash] rental attributes
|
@@ -243,7 +243,7 @@ module BookingSync::API
|
|
243
243
|
end
|
244
244
|
|
245
245
|
def faraday_options
|
246
|
-
{builder: middleware, ssl: {verify: verify_ssl?}}
|
246
|
+
{ builder: middleware, ssl: { verify: verify_ssl? } }
|
247
247
|
end
|
248
248
|
|
249
249
|
# Return BookingSync base URL. Default is https://www.bookingsync.com
|
@@ -263,7 +263,7 @@ module BookingSync::API
|
|
263
263
|
# @return [Boolean] true if SSL needs to be verified
|
264
264
|
# false otherwise
|
265
265
|
def verify_ssl?
|
266
|
-
ENV["BOOKINGSYNC_VERIFY_SSL"]
|
266
|
+
ENV["BOOKINGSYNC_VERIFY_SSL"] != "false"
|
267
267
|
end
|
268
268
|
|
269
269
|
# Expand an URL template into a full URL
|
@@ -23,6 +23,22 @@ describe BookingSync::API::Client::Rentals do
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
+
describe ".rentals_search", :vcr do
|
27
|
+
it "returns rentals" do
|
28
|
+
expect(client.rentals_search(start_at: "2014-06-20", end_at: "2014-06-25")).not_to be_empty
|
29
|
+
assert_requested :get, bs_url("rentals/search?start_at=2014-06-20&end_at=2014-06-25")
|
30
|
+
end
|
31
|
+
|
32
|
+
context "rentals ids given" do
|
33
|
+
it "makes a search within given rentals" do
|
34
|
+
rentals = client.rentals_search(ids: [323, 354], max_price: 400,
|
35
|
+
start_at: "2014-06-20", end_at: "2014-06-25")
|
36
|
+
expect(rentals.size).to eq(1)
|
37
|
+
assert_requested :get, bs_url("rentals/323,354/search?max_price=400&start_at=2014-06-20&end_at=2014-06-25")
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
26
42
|
describe ".rental", :vcr do
|
27
43
|
it "returns a single rental" do
|
28
44
|
rental = client.rental(2)
|
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.bookingsync.com/api/v3/rentals/323,354/search?end_at=2014-06-25&max_price=400&start_at=2014-06-20
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Accept:
|
13
|
+
- application/vnd.api+json
|
14
|
+
Content-Type:
|
15
|
+
- application/vnd.api+json
|
16
|
+
Authorization:
|
17
|
+
- Bearer <<ACCESS_TOKEN>>
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
X-Ratelimit-Limit:
|
26
|
+
- '1000'
|
27
|
+
X-Ratelimit-Reset:
|
28
|
+
- '1403028000'
|
29
|
+
X-Ratelimit-Remaining:
|
30
|
+
- '716'
|
31
|
+
Link:
|
32
|
+
- <https://www.bookingsync.com/api/v3/rentals/323,354/search?end_at=2014-06-25&max_price=400&page=1&start_at=2014-06-20>;
|
33
|
+
rel="first", <https://www.bookingsync.com/api/v3/rentals/323,354/search?end_at=2014-06-25&max_price=400&page=1&start_at=2014-06-20>;
|
34
|
+
rel="last"
|
35
|
+
X-Total-Pages:
|
36
|
+
- '1'
|
37
|
+
Access-Control-Allow-Origin:
|
38
|
+
- "*"
|
39
|
+
Access-Control-Request-Method:
|
40
|
+
- "*"
|
41
|
+
Content-Type:
|
42
|
+
- application/vnd.api+json; charset=utf-8
|
43
|
+
X-Ua-Compatible:
|
44
|
+
- IE=Edge
|
45
|
+
Etag:
|
46
|
+
- '"621224e07863a6f1e9608a835a0b976f"'
|
47
|
+
Cache-Control:
|
48
|
+
- max-age=0, private, must-revalidate
|
49
|
+
P3p:
|
50
|
+
- CP="OTI DSP COR CUR ADMo DEVo TAI PSAi PSDi IVAi IVDi CONi HISi TELi OTPi
|
51
|
+
OUR SAMi OTRo UNRo PUBi IND UNI STA"
|
52
|
+
X-Request-Id:
|
53
|
+
- 84607d0b92d57200601605f351b0dda8
|
54
|
+
X-Runtime:
|
55
|
+
- '0.063413'
|
56
|
+
Date:
|
57
|
+
- Tue, 17 Jun 2014 17:49:24 GMT
|
58
|
+
Connection:
|
59
|
+
- close
|
60
|
+
body:
|
61
|
+
encoding: UTF-8
|
62
|
+
string: '{"rentals":[{"id":323,"initial_price":342,"final_price":342,"updated_at":"2014-06-17T08:32:59Z"}]}'
|
63
|
+
http_version:
|
64
|
+
recorded_at: Tue, 17 Jun 2014 17:49:24 GMT
|
65
|
+
recorded_with: VCR 2.9.0
|
data/spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_search/returns_rentals.yml
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://www.bookingsync.com/api/v3/rentals/search?end_at=2014-06-25&start_at=2014-06-20
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Faraday v0.9.0
|
12
|
+
Accept:
|
13
|
+
- application/vnd.api+json
|
14
|
+
Content-Type:
|
15
|
+
- application/vnd.api+json
|
16
|
+
Authorization:
|
17
|
+
- Bearer <<ACCESS_TOKEN>>
|
18
|
+
Accept-Encoding:
|
19
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
20
|
+
response:
|
21
|
+
status:
|
22
|
+
code: 200
|
23
|
+
message: OK
|
24
|
+
headers:
|
25
|
+
X-Ratelimit-Limit:
|
26
|
+
- '1000'
|
27
|
+
X-Ratelimit-Reset:
|
28
|
+
- '1403028000'
|
29
|
+
X-Ratelimit-Remaining:
|
30
|
+
- '717'
|
31
|
+
Link:
|
32
|
+
- <https://www.bookingsync.com/api/v3/rentals/search?end_at=2014-06-25&page=1&start_at=2014-06-20>;
|
33
|
+
rel="first", <https://www.bookingsync.com/api/v3/rentals/search?end_at=2014-06-25&page=1&start_at=2014-06-20>;
|
34
|
+
rel="last"
|
35
|
+
X-Total-Pages:
|
36
|
+
- '1'
|
37
|
+
Access-Control-Allow-Origin:
|
38
|
+
- "*"
|
39
|
+
Access-Control-Request-Method:
|
40
|
+
- "*"
|
41
|
+
Content-Type:
|
42
|
+
- application/vnd.api+json; charset=utf-8
|
43
|
+
X-Ua-Compatible:
|
44
|
+
- IE=Edge
|
45
|
+
Etag:
|
46
|
+
- '"6ed7d26a9782534dad8efc565fa7e1ee"'
|
47
|
+
Cache-Control:
|
48
|
+
- max-age=0, private, must-revalidate
|
49
|
+
P3p:
|
50
|
+
- CP="OTI DSP COR CUR ADMo DEVo TAI PSAi PSDi IVAi IVDi CONi HISi TELi OTPi
|
51
|
+
OUR SAMi OTRo UNRo PUBi IND UNI STA"
|
52
|
+
X-Request-Id:
|
53
|
+
- cb7f942c7834f550641d3323aed451f6
|
54
|
+
X-Runtime:
|
55
|
+
- '0.093222'
|
56
|
+
Date:
|
57
|
+
- Tue, 17 Jun 2014 17:49:24 GMT
|
58
|
+
Connection:
|
59
|
+
- close
|
60
|
+
body:
|
61
|
+
encoding: UTF-8
|
62
|
+
string: '{"rentals":[{"id":323,"initial_price":342,"final_price":342,"updated_at":"2014-06-17T08:32:59Z"},{"id":379,"initial_price":385,"final_price":385,"updated_at":"2014-06-17T08:33:00Z"},{"id":386,"initial_price":428,"final_price":428,"updated_at":"2014-06-17T08:33:00Z"},{"id":367,"initial_price":450,"final_price":450,"updated_at":"2014-06-17T08:33:00Z"},{"id":354,"initial_price":571,"final_price":571,"updated_at":"2014-06-17T08:33:00Z"}]}'
|
63
|
+
http_version:
|
64
|
+
recorded_at: Tue, 17 Jun 2014 17:49:24 GMT
|
65
|
+
recorded_with: VCR 2.9.0
|
metadata
CHANGED
@@ -1,83 +1,83 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bookingsync-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sébastien Grosjean
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-06-
|
11
|
+
date: 2014-06-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0.9'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ~>
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0.9'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: addressable
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - '>='
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: hashie
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - '>='
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - '>='
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: bundler
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '1.5'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ~>
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '1.5'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- -
|
73
|
+
- - '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- -
|
80
|
+
- - '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
description: This gem allows to interact with the BookingSync API via Ruby objects
|
@@ -87,9 +87,9 @@ executables: []
|
|
87
87
|
extensions: []
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
|
-
-
|
91
|
-
-
|
92
|
-
-
|
90
|
+
- .gitignore
|
91
|
+
- .rspec
|
92
|
+
- .travis.yml
|
93
93
|
- Gemfile
|
94
94
|
- Guardfile
|
95
95
|
- LICENSE.txt
|
@@ -206,6 +206,8 @@ files:
|
|
206
206
|
- spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals/returns_rentals_by_ids.yml
|
207
207
|
- spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_meta/returns_meta_information_about_all_rentals.yml
|
208
208
|
- spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_meta/returns_meta_information_about_requested_rentals.yml
|
209
|
+
- spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_search/rentals_ids_given/makes_a_search_within_given_rentals.yml
|
210
|
+
- spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_search/returns_rentals.yml
|
209
211
|
- spec/fixtures/cassettes/BookingSync_API_Client_RentalsAmenities/_rentals_amenities/links/returns_associated_amenity.yml
|
210
212
|
- spec/fixtures/cassettes/BookingSync_API_Client_RentalsAmenities/_rentals_amenities/links/returns_associated_rental.yml
|
211
213
|
- spec/fixtures/cassettes/BookingSync_API_Client_RentalsAmenities/_rentals_amenities/returns_rentals_amenities.yml
|
@@ -233,17 +235,17 @@ require_paths:
|
|
233
235
|
- lib
|
234
236
|
required_ruby_version: !ruby/object:Gem::Requirement
|
235
237
|
requirements:
|
236
|
-
- -
|
238
|
+
- - '>='
|
237
239
|
- !ruby/object:Gem::Version
|
238
240
|
version: '0'
|
239
241
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
240
242
|
requirements:
|
241
|
-
- -
|
243
|
+
- - '>='
|
242
244
|
- !ruby/object:Gem::Version
|
243
245
|
version: '0'
|
244
246
|
requirements: []
|
245
247
|
rubyforge_project:
|
246
|
-
rubygems_version: 2.
|
248
|
+
rubygems_version: 2.0.14
|
247
249
|
signing_key:
|
248
250
|
specification_version: 4
|
249
251
|
summary: Ruby interface for accessing https://www.bookingsync.com
|
@@ -327,6 +329,8 @@ test_files:
|
|
327
329
|
- spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals/returns_rentals_by_ids.yml
|
328
330
|
- spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_meta/returns_meta_information_about_all_rentals.yml
|
329
331
|
- spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_meta/returns_meta_information_about_requested_rentals.yml
|
332
|
+
- spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_search/rentals_ids_given/makes_a_search_within_given_rentals.yml
|
333
|
+
- spec/fixtures/cassettes/BookingSync_API_Client_Rentals/_rentals_search/returns_rentals.yml
|
330
334
|
- spec/fixtures/cassettes/BookingSync_API_Client_RentalsAmenities/_rentals_amenities/links/returns_associated_amenity.yml
|
331
335
|
- spec/fixtures/cassettes/BookingSync_API_Client_RentalsAmenities/_rentals_amenities/links/returns_associated_rental.yml
|
332
336
|
- spec/fixtures/cassettes/BookingSync_API_Client_RentalsAmenities/_rentals_amenities/returns_rentals_amenities.yml
|