bookingsync-api 0.1.9 → 0.1.10

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: 07875aceb5be5188713572808a3279c3ef1850ee
4
- data.tar.gz: 9a346db370e70f7ad358e416a4ad28de91912dc8
3
+ metadata.gz: 9e4a004b57fe3bafb9eb996e3533c0f080855e77
4
+ data.tar.gz: 39e4cd40b861d00d95159dc542947546d81212ee
5
5
  SHA512:
6
- metadata.gz: 42a65dfbf9e155c9589377219aaf54d163f0e39fa96ad5ddd5a2295e60450dbfbdcc43d226e3b3e4204addb30bb0fd659d6e7f4aafb28a67052c4f5e2ec10dc5
7
- data.tar.gz: ec176fddc4a0c67f9787e9eef645e5dbc065914ec1e2b31c811edb424131aa009f5221dd0a3e614313f53d40910c0517e3d3c8fef594a7782ae6a3ef555fb082
6
+ metadata.gz: c3e6305dc7f1cdd298af7aeb8e9634fb4bacb0e2912071f9f6cba4d390e8b2ba6af624f610c6fa02340f35795ef6129b3d87e1b51696da33d511fb7a084e02df
7
+ data.tar.gz: a53f20e6310b8a88c38a21652671a85981391a94ddde1f5b6335f76d1d4442360bd6a07166bf5a363e3987aa703b8b09a13e0bb5c528c990e60fcf27abb12f67
@@ -2,6 +2,9 @@
2
2
 
3
3
  # master
4
4
 
5
+ ## 0.1.10 - 2018-05-17
6
+ - Added support for `attachments`.
7
+
5
8
  ## 0.1.9 - 2018-04-30
6
9
 
7
10
  - Enable dynamic override of headers per request.
@@ -1,6 +1,7 @@
1
1
  require "bookingsync/api/middleware/logger"
2
2
  require "bookingsync/api/client/accounts"
3
3
  require "bookingsync/api/client/amenities"
4
+ require "bookingsync/api/client/attachments"
4
5
  require "bookingsync/api/client/availabilities"
5
6
  require "bookingsync/api/client/bathrooms"
6
7
  require "bookingsync/api/client/bedrooms"
@@ -56,6 +57,7 @@ module BookingSync::API
56
57
  extend Forwardable
57
58
  include BookingSync::API::Client::Accounts
58
59
  include BookingSync::API::Client::Amenities
60
+ include BookingSync::API::Client::Attachments
59
61
  include BookingSync::API::Client::Availabilities
60
62
  include BookingSync::API::Client::Bathrooms
61
63
  include BookingSync::API::Client::Bedrooms
@@ -0,0 +1,63 @@
1
+ module BookingSync::API
2
+ class Client
3
+ module Attachments
4
+ # List attachments
5
+ #
6
+ # Returns attachments for the account user is authenticated with.
7
+ # @param options [Hash] A customizable set of options.
8
+ # @option options [Array] fields: List of fields to be fetched.
9
+ # @return [Array<BookingSync::API::Resource>] Array of attachments.
10
+ #
11
+ # @example Get the list of attachments for the current account
12
+ # attachments = @api.attachments
13
+ # attachments.first.name # => "test.jpg"
14
+ # @see http://developers.bookingsync.com/reference/endpoints/attachments/#list-attachments
15
+ def attachments(options = {}, &block)
16
+ paginate "inbox/attachments", options, &block
17
+ end
18
+
19
+ # Get a single attachment
20
+ #
21
+ # @param attachment [BookingSync::API::Resource|Integer] Attachment or ID
22
+ # of the attachment.
23
+ # @return [BookingSync::API::Resource]
24
+ def attachment(attachment)
25
+ get("inbox/attachments/#{attachment}").pop
26
+ end
27
+
28
+ # Create a new attachment
29
+ #
30
+ # @param options [Hash] Attachment's attributes.
31
+ # @return [BookingSync::API::Resource] Newly created attachment.
32
+ def create_attachment(options = {})
33
+ if file_path = options.delete(:file_path)
34
+ options[:file] ||= base_64_encode(file_path)
35
+ end
36
+ post("inbox/attachments", attachments: [options]).pop
37
+ end
38
+
39
+ # Edit a attachment
40
+ #
41
+ # @param attachment [BookingSync::API::Resource|Integer] Attachment or ID of
42
+ # the attachment to be updated.
43
+ # @param options [Hash] Attachment attributes to be updated.
44
+ # @return [BookingSync::API::Resource] Updated attachment on success,
45
+ # exception is raised otherwise.
46
+ # @example
47
+ # attachment = @api.attachments.first
48
+ # @api.edit_attachment(attachment, { name: "test.jpg" })
49
+ def edit_attachment(attachment, options = {})
50
+ if file_path = options.delete(:file_path)
51
+ options[:file] ||= base_64_encode(file_path)
52
+ end
53
+ put("inbox/attachments/#{attachment}", attachments: [options]).pop
54
+ end
55
+
56
+ private
57
+
58
+ def base_64_encode(file_path)
59
+ Base64.encode64(File.read(file_path))
60
+ end
61
+ end
62
+ end
63
+ end
@@ -1,5 +1,5 @@
1
1
  module BookingSync
2
2
  module API
3
- VERSION = "0.1.9"
3
+ VERSION = "0.1.10"
4
4
  end
5
5
  end
@@ -0,0 +1,83 @@
1
+
2
+ require "spec_helper"
3
+
4
+ describe BookingSync::API::Client::Attachments do
5
+ let(:client) { BookingSync::API::Client.new(test_access_token) }
6
+
7
+ before { |ex| @casette_base_path = casette_path(casette_dir, ex.metadata) }
8
+
9
+ describe ".attachments", :vcr do
10
+ it "returns attachments" do
11
+ expect(client.attachments).not_to be_empty
12
+ assert_requested :get, bs_url("inbox/attachments")
13
+ end
14
+ end
15
+
16
+ describe ".attachment", :vcr do
17
+ let(:prefetched_attachment_id) {
18
+ find_resource("#{@casette_base_path}_attachments/returns_attachments.yml", "attachments")[:id]
19
+ }
20
+
21
+ it "returns a single attachment" do
22
+ attachment = client.attachment(prefetched_attachment_id)
23
+ expect(attachment.id).to eq prefetched_attachment_id
24
+ end
25
+ end
26
+
27
+ describe ".create_attachment", :vcr do
28
+ let(:attributes) do
29
+ {
30
+ file_path: "spec/fixtures/files/test.jpg",
31
+ name: "test.jpg",
32
+ }
33
+ end
34
+
35
+ it "creates a attachment with file path" do
36
+ client.create_attachment(attributes)
37
+ assert_requested :post, bs_url("inbox/attachments"),
38
+ body: { attachments: [attributes] }.to_json
39
+ end
40
+
41
+ it "creates a new attachment with encoded file" do
42
+ encoded = Base64.encode64(File.read("spec/fixtures/files/test.jpg"))
43
+ client.create_attachment(file: encoded, name: "test.jpg")
44
+ assert_requested :post, bs_url("inbox/attachments"),
45
+ body: { attachments: [file: encoded, name: "test.jpg"] }.to_json
46
+ end
47
+
48
+ it "creates a attachment with remote URL" do
49
+ remote_url = "https://www.ruby-lang.org/images/header-ruby-logo.png"
50
+ client.create_attachment(remote_file_url: remote_url, name: "test.jpg")
51
+ assert_requested :post, bs_url("inbox/attachments"),
52
+ body: { attachments: [remote_file_url: remote_url, name: "test.jpg"] }.to_json
53
+ end
54
+
55
+ it "returns newly created attachment" do
56
+ VCR.use_cassette("BookingSync_API_Client_Attachments/_create_attachment/creates_a_new_attachment") do
57
+ attachment = client.create_attachment(attributes)
58
+ expect(attachment.name).to eq ("test.jpg")
59
+ end
60
+ end
61
+ end
62
+
63
+ describe ".edit_attachment", :vcr do
64
+ let(:attributes) { { name: "updated_test.jpg" } }
65
+ let(:created_attachment_id) {
66
+ find_resource("#{@casette_base_path}_create_attachment/creates_a_new_attachment.yml", "attachments")[:id]
67
+ }
68
+
69
+ it "updates given attachment by ID" do
70
+ client.edit_attachment(created_attachment_id, attributes)
71
+ assert_requested :put, bs_url("inbox/attachments/#{created_attachment_id}"),
72
+ body: { attachments: [attributes] }.to_json
73
+ end
74
+
75
+ it "returns updated attachment" do
76
+ VCR.use_cassette("BookingSync_API_Client_Attachments/_edit_attachment/updates_given_attachment_by_ID") do
77
+ attachment = client.edit_attachment(created_attachment_id, attributes)
78
+ expect(attachment).to be_kind_of(BookingSync::API::Resource)
79
+ expect(attachment.name).to eq("updated_test.jpg")
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,84 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://www.bookingsync.com/api/v3/inbox/attachments/1
6
+ body:
7
+ encoding: UTF-8
8
+ string: "{}"
9
+ headers:
10
+ User-Agent:
11
+ - BookingSync API gem v0.1.9
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
+ Connection:
21
+ - keep-alive
22
+ Keep-Alive:
23
+ - '30'
24
+ response:
25
+ status:
26
+ code: 200
27
+ message: OK
28
+ headers:
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/vnd.api+json; charset=utf-8
33
+ Etag:
34
+ - W/"e4bee1aab846709c9ce14e1e5cc58631"
35
+ Link:
36
+ - <https://www.bookingsync.com/api/v3/inbox/attachments/1?page=1>; rel="first",
37
+ <https://www.bookingsync.com/api/v3/inbox/attachments/1?page=1>; rel="last"
38
+ P3p:
39
+ - CP="OTI DSP COR CUR ADMo DEVo TAI PSAi PSDi IVAi IVDi CONi HISi TELi OTPi
40
+ OUR SAMi OTRo UNRo PUBi IND UNI STA"
41
+ Set-Cookie:
42
+ - ahoy_track=true; path=/
43
+ - ahoy_visit=4d75f48d-55f7-4335-bd97-d5d1591ecad4; path=/; expires=Mon, 21 May
44
+ 2018 09:44:10 -0000
45
+ - ahoy_visitor=398cb758-65b9-4172-883b-016031118053; path=/; expires=Thu, 14
46
+ May 2020 09:44:10 -0000
47
+ Vary:
48
+ - Origin
49
+ X-Content-Type-Options:
50
+ - nosniff
51
+ X-Current-Page:
52
+ - '1'
53
+ X-Frame-Options:
54
+ - SAMEORIGIN
55
+ X-Per-Page:
56
+ - '100'
57
+ X-Ratelimit-Limit:
58
+ - '1000'
59
+ X-Ratelimit-Remaining:
60
+ - '999'
61
+ X-Ratelimit-Reset:
62
+ - '1526292000'
63
+ X-Request-Id:
64
+ - 82e2ec6d-4d10-4092-ac7f-e278596e7d39
65
+ X-Runtime:
66
+ - '0.827161'
67
+ X-Total-Count:
68
+ - '1'
69
+ X-Total-Pages:
70
+ - '1'
71
+ X-Updated-Since-Request-Synced-At:
72
+ - 2018-05-14 09:44:10 UTC
73
+ X-Xss-Protection:
74
+ - 1; mode=block
75
+ Date:
76
+ - Mon, 14 May 2018 09:44:11 GMT
77
+ Content-Length:
78
+ - '692'
79
+ body:
80
+ encoding: UTF-8
81
+ string: '{"links":{"attachments.account":"https://www.bookingsync.com/api/v3/accounts/{attachments.account}","attachments.messages":"https://www.bookingsync.com/api/v3/inbox/messages/{attachments.messages}"},"attachments":[{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T11:55:39Z","file_content_type":"image/jpeg","file_size":635,"id":1,"image_height":5,"image_width":20,"name":"updated_test.jpg","updated_at":"2018-05-11T11:55:39Z","url":"/uploads/file.jpeg"}],"meta":{"Link":{"first":"https://www.bookingsync.com/api/v3/inbox/attachments/1?page=1","last":"https://www.bookingsync.com/api/v3/inbox/attachments/1?page=1"},"X-Total-Pages":"1","X-Total-Count":"1","X-Per-Page":"100"}}'
82
+ http_version:
83
+ recorded_at: Mon, 14 May 2018 09:44:11 GMT
84
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,85 @@
1
+
2
+ ---
3
+ http_interactions:
4
+ - request:
5
+ method: get
6
+ uri: https://www.bookingsync.com/api/v3/inbox/attachments
7
+ body:
8
+ encoding: UTF-8
9
+ string: "{}"
10
+ headers:
11
+ User-Agent:
12
+ - BookingSync API gem v0.1.9
13
+ Accept:
14
+ - application/vnd.api+json
15
+ Content-Type:
16
+ - application/vnd.api+json
17
+ Authorization:
18
+ - Bearer <<ACCESS_TOKEN>>
19
+ Accept-Encoding:
20
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
21
+ Connection:
22
+ - keep-alive
23
+ Keep-Alive:
24
+ - '30'
25
+ response:
26
+ status:
27
+ code: 200
28
+ message: OK
29
+ headers:
30
+ Cache-Control:
31
+ - max-age=0, private, must-revalidate
32
+ Content-Type:
33
+ - application/vnd.api+json; charset=utf-8
34
+ Etag:
35
+ - W/"d0f5795bf26e926ec9cef6c45f38a35c"
36
+ Link:
37
+ - <https://www.bookingsync.com/api/v3/inbox/attachments?page=1>; rel="first",
38
+ <https://www.bookingsync.com/api/v3/inbox/attachments?page=1>; rel="last"
39
+ P3p:
40
+ - CP="OTI DSP COR CUR ADMo DEVo TAI PSAi PSDi IVAi IVDi CONi HISi TELi OTPi
41
+ OUR SAMi OTRo UNRo PUBi IND UNI STA"
42
+ Set-Cookie:
43
+ - ahoy_track=true; path=/
44
+ - ahoy_visit=0c79f773-ffb7-4faa-8d60-a7fdfbc665b8; path=/; expires=Fri, 18 May
45
+ 2018 15:07:43 -0000
46
+ - ahoy_visitor=5da3e32b-93a6-407e-85c3-b7e827410da4; path=/; expires=Mon, 11
47
+ May 2020 15:07:43 -0000
48
+ Vary:
49
+ - Origin
50
+ X-Content-Type-Options:
51
+ - nosniff
52
+ X-Current-Page:
53
+ - '1'
54
+ X-Frame-Options:
55
+ - SAMEORIGIN
56
+ X-Per-Page:
57
+ - '100'
58
+ X-Ratelimit-Limit:
59
+ - '1000'
60
+ X-Ratelimit-Remaining:
61
+ - '999'
62
+ X-Ratelimit-Reset:
63
+ - '1526054400'
64
+ X-Request-Id:
65
+ - d59a9073-0b8b-49b3-9cb7-c4c94dfbe988
66
+ X-Runtime:
67
+ - '0.628088'
68
+ X-Total-Count:
69
+ - '10'
70
+ X-Total-Pages:
71
+ - '1'
72
+ X-Updated-Since-Request-Synced-At:
73
+ - 2018-05-11 15:07:43 UTC
74
+ X-Xss-Protection:
75
+ - 1; mode=block
76
+ Date:
77
+ - Fri, 11 May 2018 15:07:43 GMT
78
+ Transfer-Encoding:
79
+ - chunked
80
+ body:
81
+ encoding: UTF-8
82
+ string: '{"links":{"attachments.account":"https://www.bookingsync.com/api/v3/accounts/{attachments.account}","attachments.messages":"https://www.bookingsync.com/api/v3/inbox/messages/{attachments.messages}"},"attachments":[{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T11:55:39Z","file_content_type":"image/jpeg","file_size":635,"id":1,"image_height":5,"image_width":20,"name":"updated_test.jpg","updated_at":"2018-05-11T11:55:39Z","url":"/uploads/file.jpeg"},{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T11:59:05Z","file_content_type":"image/jpeg","file_size":635,"id":2,"image_height":5,"image_width":20,"name":"updated_test.jpg","updated_at":"2018-05-11T11:59:05Z","url":"/uploads/file.jpeg"},{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T13:58:52Z","file_content_type":"image/jpeg","file_size":635,"id":3,"image_height":5,"image_width":20,"name":"test.jpg","updated_at":"2018-05-11T13:58:52Z","url":"/uploads/file.jpeg"},{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T14:12:37Z","file_content_type":"image/png","file_size":5365,"id":4,"image_height":62,"image_width":62,"name":"test.jpg","updated_at":"2018-05-11T14:12:37Z","url":"/uploads/header-ruby-logo.png"},{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T14:17:01Z","file_content_type":"image/jpeg","file_size":635,"id":5,"image_height":5,"image_width":20,"name":"test.jpg","updated_at":"2018-05-11T14:17:01Z","url":"/uploads/file.jpeg"},{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T14:17:02Z","file_content_type":"image/png","file_size":5365,"id":6,"image_height":62,"image_width":62,"name":"test.jpg","updated_at":"2018-05-11T14:17:02Z","url":"/uploads/header-ruby-logo.png"},{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T14:17:02Z","file_content_type":"image/jpeg","file_size":635,"id":7,"image_height":5,"image_width":20,"name":"updated_test.jpg","updated_at":"2018-05-11T14:17:02Z","url":"/uploads/file.jpeg"},{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T14:21:37Z","file_content_type":"image/jpeg","file_size":635,"id":8,"image_height":5,"image_width":20,"name":"test.jpg","updated_at":"2018-05-11T14:21:37Z","url":"/uploads/file.jpeg"},{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T14:21:38Z","file_content_type":"image/png","file_size":5365,"id":9,"image_height":62,"image_width":62,"name":"test.jpg","updated_at":"2018-05-11T14:21:38Z","url":"/uploads/header-ruby-logo.png"},{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T14:21:38Z","file_content_type":"image/jpeg","file_size":635,"id":10,"image_height":5,"image_width":20,"name":"updated_test.jpg","updated_at":"2018-05-11T14:21:38Z","url":"/uploads/file.jpeg"}],"meta":{"Link":{"first":"https://www.bookingsync.com/api/v3/inbox/attachments?page=1","last":"https://www.bookingsync.com/api/v3/inbox/attachments?page=1"},"X-Total-Pages":"1","X-Total-Count":"10","X-Per-Page":"100"}}'
83
+ http_version:
84
+ recorded_at: Fri, 11 May 2018 15:07:43 GMT
85
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,75 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://www.bookingsync.com/api/v3/inbox/attachments
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"attachments":[{"name":"test.jpg","file":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL\nDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/\n2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy\nMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAFABQDASIAAhEBAxEB/8QA\nHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUF\nBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK\nFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1\ndnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG\nx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEB\nAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAEC\nAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRom\nJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE\nhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU\n1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAoo\nooA//9k=\n"}]}'
9
+ headers:
10
+ User-Agent:
11
+ - BookingSync API gem v0.1.9
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
+ Connection:
21
+ - keep-alive
22
+ Keep-Alive:
23
+ - '30'
24
+ response:
25
+ status:
26
+ code: 201
27
+ message: Created
28
+ headers:
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/vnd.api+json; charset=utf-8
33
+ Etag:
34
+ - W/"abcc4ef3fbec3eb9b5a255e94a060dff"
35
+ Location:
36
+ - https://www.bookingsync.com/api/v3/inbox/attachments/11
37
+ P3p:
38
+ - CP="OTI DSP COR CUR ADMo DEVo TAI PSAi PSDi IVAi IVDi CONi HISi TELi OTPi
39
+ OUR SAMi OTRo UNRo PUBi IND UNI STA"
40
+ Set-Cookie:
41
+ - ahoy_track=true; path=/
42
+ - ahoy_visit=2be71acf-6f19-46ac-b2b9-cfc813419c7e; path=/; expires=Fri, 18 May
43
+ 2018 15:07:43 -0000
44
+ - ahoy_visitor=5b0950b5-a298-4fec-a946-1e5b0be177dc; path=/; expires=Mon, 11
45
+ May 2020 15:07:43 -0000
46
+ Vary:
47
+ - Origin
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ X-Frame-Options:
51
+ - SAMEORIGIN
52
+ X-Ratelimit-Limit:
53
+ - '1000'
54
+ X-Ratelimit-Remaining:
55
+ - '998'
56
+ X-Ratelimit-Reset:
57
+ - '1526054400'
58
+ X-Request-Id:
59
+ - 4f990238-fa20-42e7-8f89-73f8f56f0ff6
60
+ X-Runtime:
61
+ - '0.120909'
62
+ X-Updated-Since-Request-Synced-At:
63
+ - 2018-05-11 15:07:43 UTC
64
+ X-Xss-Protection:
65
+ - 1; mode=block
66
+ Date:
67
+ - Fri, 11 May 2018 15:07:43 GMT
68
+ Content-Length:
69
+ - '472'
70
+ body:
71
+ encoding: UTF-8
72
+ string: '{"links":{"attachments.account":"https://www.bookingsync.com/api/v3/accounts/{attachments.account}","attachments.messages":"https://www.bookingsync.com/api/v3/inbox/messages/{attachments.messages}"},"attachments":[{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T15:07:43Z","file_content_type":"image/jpeg","file_size":635,"id":11,"image_height":5,"image_width":20,"name":"test.jpg","updated_at":"2018-05-11T15:07:43Z","url":"/uploads/file.jpg"}],"meta":{}}'
73
+ http_version:
74
+ recorded_at: Fri, 11 May 2018 15:07:43 GMT
75
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,76 @@
1
+
2
+ ---
3
+ http_interactions:
4
+ - request:
5
+ method: post
6
+ uri: https://www.bookingsync.com/api/v3/inbox/attachments
7
+ body:
8
+ encoding: UTF-8
9
+ string: '{"attachments":[{"remote_file_url":"https://www.ruby-lang.org/images/header-ruby-logo.png","name":"test.jpg"}]}'
10
+ headers:
11
+ User-Agent:
12
+ - BookingSync API gem v0.1.9
13
+ Accept:
14
+ - application/vnd.api+json
15
+ Content-Type:
16
+ - application/vnd.api+json
17
+ Authorization:
18
+ - Bearer <<ACCESS_TOKEN>>
19
+ Accept-Encoding:
20
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
21
+ Connection:
22
+ - keep-alive
23
+ Keep-Alive:
24
+ - '30'
25
+ response:
26
+ status:
27
+ code: 201
28
+ message: Created
29
+ headers:
30
+ Cache-Control:
31
+ - max-age=0, private, must-revalidate
32
+ Content-Type:
33
+ - application/vnd.api+json; charset=utf-8
34
+ Etag:
35
+ - W/"dfc852bda9fffc9e1f31a06688b032a2"
36
+ Location:
37
+ - https://www.bookingsync.com/api/v3/inbox/attachments/13
38
+ P3p:
39
+ - CP="OTI DSP COR CUR ADMo DEVo TAI PSAi PSDi IVAi IVDi CONi HISi TELi OTPi
40
+ OUR SAMi OTRo UNRo PUBi IND UNI STA"
41
+ Set-Cookie:
42
+ - ahoy_track=true; path=/
43
+ - ahoy_visit=20fe9c2e-5ac0-44aa-bea8-3eb3d228abb2; path=/; expires=Fri, 18 May
44
+ 2018 15:07:44 -0000
45
+ - ahoy_visitor=0f2da227-9a19-4a20-9288-1515a3926883; path=/; expires=Mon, 11
46
+ May 2020 15:07:44 -0000
47
+ Vary:
48
+ - Origin
49
+ X-Content-Type-Options:
50
+ - nosniff
51
+ X-Frame-Options:
52
+ - SAMEORIGIN
53
+ X-Ratelimit-Limit:
54
+ - '1000'
55
+ X-Ratelimit-Remaining:
56
+ - '996'
57
+ X-Ratelimit-Reset:
58
+ - '1526054400'
59
+ X-Request-Id:
60
+ - ca5fc438-cc80-4586-b349-f13e26202484
61
+ X-Runtime:
62
+ - '0.816970'
63
+ X-Updated-Since-Request-Synced-At:
64
+ - 2018-05-11 15:07:44 UTC
65
+ X-Xss-Protection:
66
+ - 1; mode=block
67
+ Date:
68
+ - Fri, 11 May 2018 15:07:44 GMT
69
+ Content-Length:
70
+ - '485'
71
+ body:
72
+ encoding: UTF-8
73
+ string: '{"links":{"attachments.account":"https://www.bookingsync.com/api/v3/accounts/{attachments.account}","attachments.messages":"https://www.bookingsync.com/api/v3/inbox/messages/{attachments.messages}"},"attachments":[{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T15:07:44Z","file_content_type":"image/png","file_size":5365,"id":13,"image_height":62,"image_width":62,"name":"test.jpg","updated_at":"2018-05-11T15:07:44Z","url":"/uploads/header-ruby-logo.png"}],"meta":{}}'
74
+ http_version:
75
+ recorded_at: Fri, 11 May 2018 15:07:44 GMT
76
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,75 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://www.bookingsync.com/api/v3/inbox/attachments
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"attachments":[{"name":"test.jpg","file":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL\nDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/\n2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy\nMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAFABQDASIAAhEBAxEB/8QA\nHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUF\nBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK\nFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1\ndnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG\nx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEB\nAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAEC\nAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRom\nJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE\nhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU\n1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAoo\nooA//9k=\n"}]}'
9
+ headers:
10
+ User-Agent:
11
+ - BookingSync API gem v0.1.9
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
+ Connection:
21
+ - keep-alive
22
+ Keep-Alive:
23
+ - '30'
24
+ response:
25
+ status:
26
+ code: 201
27
+ message: Created
28
+ headers:
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/vnd.api+json; charset=utf-8
33
+ Etag:
34
+ - W/"14ae921665ec29a1d199d17dc40f75b9"
35
+ Location:
36
+ - https://www.bookingsync.com/api/v3/inbox/attachments/14
37
+ P3p:
38
+ - CP="OTI DSP COR CUR ADMo DEVo TAI PSAi PSDi IVAi IVDi CONi HISi TELi OTPi
39
+ OUR SAMi OTRo UNRo PUBi IND UNI STA"
40
+ Set-Cookie:
41
+ - ahoy_track=true; path=/
42
+ - ahoy_visit=f3ba13ba-bf92-4d2c-bb5e-5644834958cd; path=/; expires=Fri, 18 May
43
+ 2018 15:07:44 -0000
44
+ - ahoy_visitor=b26d4833-764e-4756-b8e2-b45d01af07d9; path=/; expires=Mon, 11
45
+ May 2020 15:07:44 -0000
46
+ Vary:
47
+ - Origin
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ X-Frame-Options:
51
+ - SAMEORIGIN
52
+ X-Ratelimit-Limit:
53
+ - '1000'
54
+ X-Ratelimit-Remaining:
55
+ - '995'
56
+ X-Ratelimit-Reset:
57
+ - '1526054400'
58
+ X-Request-Id:
59
+ - 804f6cbe-02be-4380-aab8-29ef78adbd2e
60
+ X-Runtime:
61
+ - '0.106298'
62
+ X-Updated-Since-Request-Synced-At:
63
+ - 2018-05-11 15:07:44 UTC
64
+ X-Xss-Protection:
65
+ - 1; mode=block
66
+ Date:
67
+ - Fri, 11 May 2018 15:07:45 GMT
68
+ Content-Length:
69
+ - '472'
70
+ body:
71
+ encoding: UTF-8
72
+ string: '{"links":{"attachments.account":"https://www.bookingsync.com/api/v3/accounts/{attachments.account}","attachments.messages":"https://www.bookingsync.com/api/v3/inbox/messages/{attachments.messages}"},"attachments":[{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T15:07:44Z","file_content_type":"image/jpeg","file_size":635,"id":14,"image_height":5,"image_width":20,"name":"test.jpg","updated_at":"2018-05-11T15:07:44Z","url":"/uploads/file.jpg"}],"meta":{}}'
73
+ http_version:
74
+ recorded_at: Fri, 11 May 2018 15:07:45 GMT
75
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,75 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://www.bookingsync.com/api/v3/inbox/attachments
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"attachments":[{"file":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsL\nDBkSEw8UHRofHh0aHBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/\n2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIy\nMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAAFABQDASIAAhEBAxEB/8QA\nHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUF\nBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkK\nFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1\ndnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXG\nx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEB\nAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAEC\nAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRom\nJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOE\nhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU\n1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iiigAoo\nooA//9k=\n","name":"test.jpg"}]}'
9
+ headers:
10
+ User-Agent:
11
+ - BookingSync API gem v0.1.9
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
+ Connection:
21
+ - keep-alive
22
+ Keep-Alive:
23
+ - '30'
24
+ response:
25
+ status:
26
+ code: 201
27
+ message: Created
28
+ headers:
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/vnd.api+json; charset=utf-8
33
+ Etag:
34
+ - W/"d1a9cf5a32d4b3e52ad3a1c7ab3a5eb1"
35
+ Location:
36
+ - https://www.bookingsync.com/api/v3/inbox/attachments/12
37
+ P3p:
38
+ - CP="OTI DSP COR CUR ADMo DEVo TAI PSAi PSDi IVAi IVDi CONi HISi TELi OTPi
39
+ OUR SAMi OTRo UNRo PUBi IND UNI STA"
40
+ Set-Cookie:
41
+ - ahoy_track=true; path=/
42
+ - ahoy_visit=482e4014-9143-4a55-b385-3d069e63d614; path=/; expires=Fri, 18 May
43
+ 2018 15:07:44 -0000
44
+ - ahoy_visitor=46f79c91-f183-434d-9c34-0cbcf8873f17; path=/; expires=Mon, 11
45
+ May 2020 15:07:44 -0000
46
+ Vary:
47
+ - Origin
48
+ X-Content-Type-Options:
49
+ - nosniff
50
+ X-Frame-Options:
51
+ - SAMEORIGIN
52
+ X-Ratelimit-Limit:
53
+ - '1000'
54
+ X-Ratelimit-Remaining:
55
+ - '997'
56
+ X-Ratelimit-Reset:
57
+ - '1526054400'
58
+ X-Request-Id:
59
+ - e260696b-99a8-455f-a378-b86000d27092
60
+ X-Runtime:
61
+ - '0.102051'
62
+ X-Updated-Since-Request-Synced-At:
63
+ - 2018-05-11 15:07:44 UTC
64
+ X-Xss-Protection:
65
+ - 1; mode=block
66
+ Date:
67
+ - Fri, 11 May 2018 15:07:44 GMT
68
+ Content-Length:
69
+ - '472'
70
+ body:
71
+ encoding: UTF-8
72
+ string: '{"links":{"attachments.account":"https://www.bookingsync.com/api/v3/accounts/{attachments.account}","attachments.messages":"https://www.bookingsync.com/api/v3/inbox/messages/{attachments.messages}"},"attachments":[{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T15:07:44Z","file_content_type":"image/jpeg","file_size":635,"id":12,"image_height":5,"image_width":20,"name":"test.jpg","updated_at":"2018-05-11T15:07:44Z","url":"/uploads/file.jpg"}],"meta":{}}'
73
+ http_version:
74
+ recorded_at: Fri, 11 May 2018 15:07:44 GMT
75
+ recorded_with: VCR 4.0.0
@@ -0,0 +1,73 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: put
5
+ uri: https://www.bookingsync.com/api/v3/inbox/attachments/14
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"attachments":[{"name":"updated_test.jpg"}]}'
9
+ headers:
10
+ User-Agent:
11
+ - BookingSync API gem v0.1.9
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
+ Connection:
21
+ - keep-alive
22
+ Keep-Alive:
23
+ - '30'
24
+ response:
25
+ status:
26
+ code: 200
27
+ message: OK
28
+ headers:
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Content-Type:
32
+ - application/vnd.api+json; charset=utf-8
33
+ Etag:
34
+ - W/"e4909d6f0b0c29baf7c11cca1c51c87a"
35
+ P3p:
36
+ - CP="OTI DSP COR CUR ADMo DEVo TAI PSAi PSDi IVAi IVDi CONi HISi TELi OTPi
37
+ OUR SAMi OTRo UNRo PUBi IND UNI STA"
38
+ Set-Cookie:
39
+ - ahoy_track=true; path=/
40
+ - ahoy_visit=2b0ff4d4-1efc-4466-b946-7fdcf897d904; path=/; expires=Fri, 18 May
41
+ 2018 15:07:45 -0000
42
+ - ahoy_visitor=c512c95f-e300-4389-b37b-19cc0788d0f8; path=/; expires=Mon, 11
43
+ May 2020 15:07:45 -0000
44
+ Vary:
45
+ - Origin
46
+ X-Content-Type-Options:
47
+ - nosniff
48
+ X-Frame-Options:
49
+ - SAMEORIGIN
50
+ X-Ratelimit-Limit:
51
+ - '1000'
52
+ X-Ratelimit-Remaining:
53
+ - '994'
54
+ X-Ratelimit-Reset:
55
+ - '1526054400'
56
+ X-Request-Id:
57
+ - 02f2210f-b789-4a5e-be87-10045c8a4e83
58
+ X-Runtime:
59
+ - '0.114809'
60
+ X-Updated-Since-Request-Synced-At:
61
+ - 2018-05-11 15:07:45 UTC
62
+ X-Xss-Protection:
63
+ - 1; mode=block
64
+ Date:
65
+ - Fri, 11 May 2018 15:07:45 GMT
66
+ Content-Length:
67
+ - '480'
68
+ body:
69
+ encoding: UTF-8
70
+ string: '{"links":{"attachments.account":"https://www.bookingsync.com/api/v3/accounts/{attachments.account}","attachments.messages":"https://www.bookingsync.com/api/v3/inbox/messages/{attachments.messages}"},"attachments":[{"links":{"account":1,"messages":[]},"created_at":"2018-05-11T15:07:44Z","file_content_type":"image/jpeg","file_size":635,"id":14,"image_height":5,"image_width":20,"name":"updated_test.jpg","updated_at":"2018-05-11T15:07:45Z","url":"/uploads/file.jpg"}],"meta":{}}'
71
+ http_version:
72
+ recorded_at: Fri, 11 May 2018 15:07:45 GMT
73
+ recorded_with: VCR 4.0.0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bookingsync-api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.9
4
+ version: 0.1.10
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: 2018-04-30 00:00:00.000000000 Z
11
+ date: 2018-05-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -130,6 +130,7 @@ files:
130
130
  - lib/bookingsync/api/client.rb
131
131
  - lib/bookingsync/api/client/accounts.rb
132
132
  - lib/bookingsync/api/client/amenities.rb
133
+ - lib/bookingsync/api/client/attachments.rb
133
134
  - lib/bookingsync/api/client/availabilities.rb
134
135
  - lib/bookingsync/api/client/bathrooms.rb
135
136
  - lib/bookingsync/api/client/bedrooms.rb
@@ -180,6 +181,7 @@ files:
180
181
  - lib/bookingsync/api/version.rb
181
182
  - spec/bookingsync/api/client/accounts_spec.rb
182
183
  - spec/bookingsync/api/client/amenities_spec.rb
184
+ - spec/bookingsync/api/client/attachments_spec.rb
183
185
  - spec/bookingsync/api/client/availabilities_spec.rb
184
186
  - spec/bookingsync/api/client/bathrooms_spec.rb
185
187
  - spec/bookingsync/api/client/bedrooms_spec.rb
@@ -231,6 +233,13 @@ files:
231
233
  - spec/fixtures/cassettes/BookingSync_API_Client_Accounts/_accounts/returns_accounts.yml
232
234
  - spec/fixtures/cassettes/BookingSync_API_Client_Amenities/_amenities/returns_amenities.yml
233
235
  - spec/fixtures/cassettes/BookingSync_API_Client_Amenities/_amenity/returns_amenity.yml
236
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_attachment/returns_a_single_attachment.yml
237
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_attachments/returns_attachments.yml
238
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_create_attachment/creates_a_attachment_with_file_path.yml
239
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_create_attachment/creates_a_attachment_with_remote_URL.yml
240
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_create_attachment/creates_a_new_attachment.yml
241
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_create_attachment/creates_a_new_attachment_with_encoded_file.yml
242
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_edit_attachment/updates_given_attachment_by_ID.yml
234
243
  - spec/fixtures/cassettes/BookingSync_API_Client_Availabilities/_availabilities/returns_availabilities.yml
235
244
  - spec/fixtures/cassettes/BookingSync_API_Client_Availabilities/_availability/returns_a_single_availability.yml
236
245
  - spec/fixtures/cassettes/BookingSync_API_Client_Bathrooms/_bathroom/returns_a_single_bathroom.yml
@@ -433,6 +442,7 @@ summary: Ruby interface for accessing https://www.bookingsync.com
433
442
  test_files:
434
443
  - spec/bookingsync/api/client/accounts_spec.rb
435
444
  - spec/bookingsync/api/client/amenities_spec.rb
445
+ - spec/bookingsync/api/client/attachments_spec.rb
436
446
  - spec/bookingsync/api/client/availabilities_spec.rb
437
447
  - spec/bookingsync/api/client/bathrooms_spec.rb
438
448
  - spec/bookingsync/api/client/bedrooms_spec.rb
@@ -484,6 +494,13 @@ test_files:
484
494
  - spec/fixtures/cassettes/BookingSync_API_Client_Accounts/_accounts/returns_accounts.yml
485
495
  - spec/fixtures/cassettes/BookingSync_API_Client_Amenities/_amenities/returns_amenities.yml
486
496
  - spec/fixtures/cassettes/BookingSync_API_Client_Amenities/_amenity/returns_amenity.yml
497
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_attachment/returns_a_single_attachment.yml
498
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_attachments/returns_attachments.yml
499
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_create_attachment/creates_a_attachment_with_file_path.yml
500
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_create_attachment/creates_a_attachment_with_remote_URL.yml
501
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_create_attachment/creates_a_new_attachment.yml
502
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_create_attachment/creates_a_new_attachment_with_encoded_file.yml
503
+ - spec/fixtures/cassettes/BookingSync_API_Client_Attachments/_edit_attachment/updates_given_attachment_by_ID.yml
487
504
  - spec/fixtures/cassettes/BookingSync_API_Client_Availabilities/_availabilities/returns_availabilities.yml
488
505
  - spec/fixtures/cassettes/BookingSync_API_Client_Availabilities/_availability/returns_a_single_availability.yml
489
506
  - spec/fixtures/cassettes/BookingSync_API_Client_Bathrooms/_bathroom/returns_a_single_bathroom.yml