bookingsync-api 0.1.9 → 0.1.10

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 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