nylas 6.2.1 → 6.2.3
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/nylas/errors.rb +1 -1
- data/lib/nylas/handler/http_client.rb +17 -3
- data/lib/nylas/resources/bookings.rb +5 -5
- data/lib/nylas/utils/file_utils.rb +12 -3
- data/lib/nylas/version.rb +1 -1
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb37db614a1d3567334d0d7217d50e81a94a3d31bc758c916fa752953fc7369e
|
4
|
+
data.tar.gz: 123be60d4794edb9ea702ae62c2768d39fda98afa7b53157d3e7b53def4b3b98
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d26327e107d0a911397a30a8f2f2d2fc7836dcf8d9c4f9448b4ec8ab58aa2cd37595fa7cdcea8c5ade7643d6d9ec8b33451dbf297237501ce0834494946f331
|
7
|
+
data.tar.gz: 9340849392790c37b9c86334a97afe8b5b991c6d681313dee3158f26371953d698114bd38796e02f28c49e6de028594bfee4adae9b9e11d62d7e29cf10ccdb22
|
data/lib/nylas/errors.rb
CHANGED
@@ -21,7 +21,7 @@ module Nylas
|
|
21
21
|
# @param type [Hash] Error type.
|
22
22
|
# @param message [String] Error message.
|
23
23
|
# @param status_code [Integer] Error status code.
|
24
|
-
# @param provider_error [
|
24
|
+
# @param provider_error [Hash, nil] The error from the provider.
|
25
25
|
# @param request_id [Hash, nil] The ID of the request.
|
26
26
|
def initialize(type, message, status_code, provider_error = nil, request_id = nil)
|
27
27
|
super(message)
|
@@ -198,10 +198,24 @@ module Nylas
|
|
198
198
|
|
199
199
|
def throw_error(response, status_code)
|
200
200
|
error_obj = response[:error]
|
201
|
-
provider_error = error_obj.fetch(:provider_error, nil)
|
202
201
|
|
203
|
-
|
204
|
-
|
202
|
+
# If `error_obj` is just a string, turn it into a hash with default keys.
|
203
|
+
if error_obj.is_a?(String)
|
204
|
+
error_obj = {
|
205
|
+
type: "NylasApiError",
|
206
|
+
message: error_obj
|
207
|
+
}
|
208
|
+
end
|
209
|
+
|
210
|
+
provider_error = error_obj.fetch(:provider_error, nil) if error_obj.is_a?(Hash)
|
211
|
+
|
212
|
+
NylasApiError.new(
|
213
|
+
error_obj[:type],
|
214
|
+
error_obj[:message],
|
215
|
+
status_code,
|
216
|
+
provider_error,
|
217
|
+
response[:request_id]
|
218
|
+
)
|
205
219
|
end
|
206
220
|
|
207
221
|
# Adds query parameters to a URL.
|
@@ -16,7 +16,7 @@ module Nylas
|
|
16
16
|
# @param booking_id [String] The id of the booking to return.
|
17
17
|
# @param query_params [Hash, nil] Query params to pass to the request.
|
18
18
|
# @return [Array(Hash, String)] The booking and API request ID.
|
19
|
-
def find(booking_id:, query_params:)
|
19
|
+
def find(booking_id:, query_params: nil)
|
20
20
|
get(
|
21
21
|
path: "#{api_uri}/v3/scheduling/bookings/#{booking_id}",
|
22
22
|
query_params: query_params
|
@@ -27,7 +27,7 @@ module Nylas
|
|
27
27
|
# @param request_body [Hash] The values to create the booking with.
|
28
28
|
# @param query_params [Hash, nil] Query params to pass to the request.
|
29
29
|
# @return [Array(Hash, String)] The created booking and API Request ID.
|
30
|
-
def create(request_body:, query_params:)
|
30
|
+
def create(request_body:, query_params: nil)
|
31
31
|
post(
|
32
32
|
path: "#{api_uri}/v3/scheduling/bookings",
|
33
33
|
request_body: request_body,
|
@@ -40,7 +40,7 @@ module Nylas
|
|
40
40
|
# @param booking_id [String] The id of the booking to update.
|
41
41
|
# @param query_params [Hash, nil] Query params to pass to the request.
|
42
42
|
# @return [Array(Hash, String)] The created booking and API Request ID.
|
43
|
-
def update(request_body:, booking_id:, query_params:)
|
43
|
+
def update(request_body:, booking_id:, query_params: nil)
|
44
44
|
patch(
|
45
45
|
path: "#{api_uri}/v3/scheduling/bookings/#{booking_id}",
|
46
46
|
request_body: request_body,
|
@@ -53,7 +53,7 @@ module Nylas
|
|
53
53
|
# @param request_body [Hash] The values to update the booking with
|
54
54
|
# @param query_params [Hash, nil] Query params to pass to the request.
|
55
55
|
# @return [Array(Hash, String)] The updated booking and API Request ID.
|
56
|
-
def
|
56
|
+
def confirm(booking_id:, request_body:, query_params: nil)
|
57
57
|
put(
|
58
58
|
path: "#{api_uri}/v3/scheduling/bookings/#{booking_id}",
|
59
59
|
request_body: request_body,
|
@@ -65,7 +65,7 @@ module Nylas
|
|
65
65
|
# @param booking_id [String] The id of the booking to delete.
|
66
66
|
# @param query_params [Hash, nil] Query params to pass to the request.
|
67
67
|
# @return [Array(TrueClass, String)] True and the API Request ID for the delete operation.
|
68
|
-
def destroy(booking_id:, query_params:)
|
68
|
+
def destroy(booking_id:, query_params: nil)
|
69
69
|
_, request_id = delete(
|
70
70
|
path: "#{api_uri}/v3/scheduling/bookings/#{booking_id}",
|
71
71
|
query_params: query_params
|
@@ -36,7 +36,16 @@ module Nylas
|
|
36
36
|
file = File.open(attachment[:file_path], "rb")
|
37
37
|
end
|
38
38
|
|
39
|
-
|
39
|
+
# Setting original filename and content type if available. See rest-client#lib/restclient/payload.rb
|
40
|
+
filename = attachment[:filename] || attachment["filename"]
|
41
|
+
file.define_singleton_method(:original_filename) { filename } if filename
|
42
|
+
|
43
|
+
content_type = attachment[:content_type] || attachment["content_type"]
|
44
|
+
file.define_singleton_method(:content_type) { content_type } if content_type
|
45
|
+
|
46
|
+
content_id = attachment[:content_id] || attachment["content_id"] || "file#{index}"
|
47
|
+
|
48
|
+
form_data.merge!({ content_id => file })
|
40
49
|
opened_files << file
|
41
50
|
end
|
42
51
|
|
@@ -93,7 +102,7 @@ module Nylas
|
|
93
102
|
# @param file_path [String] The path to the file to attach.
|
94
103
|
# @param filename [String] The name of the attached file. Optional, derived from file_path by default.
|
95
104
|
# @return [Hash] The request that will attach the file to the message/draft
|
96
|
-
def self.attach_file_request_builder(file_path, filename = nil)
|
105
|
+
def self.attach_file_request_builder(file_path, filename = nil, content_id = nil)
|
97
106
|
filename ||= File.basename(file_path)
|
98
107
|
content_type = MIME::Types.type_for(file_path)
|
99
108
|
content_type = if !content_type.nil? && !content_type.empty?
|
@@ -103,12 +112,12 @@ module Nylas
|
|
103
112
|
end
|
104
113
|
size = File.size(file_path)
|
105
114
|
content = File.new(file_path, "rb")
|
106
|
-
|
107
115
|
{
|
108
116
|
filename: filename,
|
109
117
|
content_type: content_type,
|
110
118
|
size: size,
|
111
119
|
content: content,
|
120
|
+
content_id: content_id,
|
112
121
|
file_path: file_path
|
113
122
|
}
|
114
123
|
end
|
data/lib/nylas/version.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nylas
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.2.
|
4
|
+
version: 6.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nylas, Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: base64
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: mime-types
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -297,7 +311,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
297
311
|
- !ruby/object:Gem::Version
|
298
312
|
version: '0'
|
299
313
|
requirements: []
|
300
|
-
rubygems_version: 3.
|
314
|
+
rubygems_version: 3.4.18
|
301
315
|
signing_key:
|
302
316
|
specification_version: 4
|
303
317
|
summary: Gem for interacting with the Nylas API
|