nylas 4.6.7 → 5.0.0

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
  SHA256:
3
- metadata.gz: 6dd52077bca505902f8fe016a103318a1c426f74f01235a36c27a2463478f101
4
- data.tar.gz: 91f2addf66e656561881e721402955080f6e040536c3168737f7b62a4b74a9dd
3
+ metadata.gz: 82a2a7e6af812dd58557c604deb553e18d586c373ee8c308b1eddc8492a44c28
4
+ data.tar.gz: 43b9a7943a854c10f2257d49220fc420ff4e3b022b76a527ba772041600d24dd
5
5
  SHA512:
6
- metadata.gz: ed82717d82cdc4b5fed03a09e7ee1553ba16071e4603b8cedce2518871fc44e2b34c8bd0ce5d9e077bb492a1d216de577264da104014c75e9964b44f7a238e52
7
- data.tar.gz: be58aff204cad1ce196f8fbeb766708d407d135a8247c484292a5a16fd821119727d21ded457b2b80650b58fc9c70d2a07c38dfc4beea94dc143454bc9377136
6
+ metadata.gz: 6c005ca3d6e0f61bc25ebdab118cc0dda5dd366c24b8ad1519b78a5bb32bd0de976b1070fb6dc35dfbd81ffd4540c636956c38f1248e412e80441cf12fb788d0
7
+ data.tar.gz: 05e47ffa2fb00e66adf7483b7eb7a0bd870c85dbff006dee3cfa7b968589173634d77d74519bc04e657d214efdfd17b1bc8ef492da0880edef5552fb012ac466
data/lib/nylas/api.rb CHANGED
@@ -6,7 +6,7 @@ module Nylas
6
6
  attr_accessor :client
7
7
 
8
8
  extend Forwardable
9
- def_delegators :client, :execute, :get, :post, :put, :delete, :app_id
9
+ def_delegators :client, :execute, :get, :post, :put, :delete, :app_id, :api_server
10
10
 
11
11
  include Logging
12
12
 
@@ -37,6 +37,19 @@ module Nylas
37
37
  )
38
38
  end
39
39
 
40
+ def authentication_url(redirect_uri:, scopes:, response_type: "code", login_hint: nil, state: nil)
41
+ params = {
42
+ client_id: app_id,
43
+ redirect_uri: redirect_uri,
44
+ response_type: response_type,
45
+ login_hint: login_hint
46
+ }
47
+ params[:state] = state if state
48
+ params[:scopes] = scopes.join(",") if scopes
49
+
50
+ "#{api_server}/oauth/authorize?#{URI.encode_www_form(params)}"
51
+ end
52
+
40
53
  def exchange_code_for_token(code)
41
54
  data = {
42
55
  "client_id" => app_id,
@@ -130,7 +130,7 @@ module Nylas
130
130
  response = api.execute(
131
131
  **to_be_executed.merge(
132
132
  path: "#{resources_path}/#{id}",
133
- query: {}
133
+ query: view_query
134
134
  )
135
135
  )
136
136
  model.from_hash(response, api: api)
@@ -147,5 +147,15 @@ module Nylas
147
147
  def execute
148
148
  api.execute(**to_be_executed)
149
149
  end
150
+
151
+ private
152
+
153
+ def view_query
154
+ if constraints.view
155
+ { view: constraints.view }
156
+ else
157
+ {}
158
+ end
159
+ end
150
160
  end
151
161
  end
data/lib/nylas/event.rb CHANGED
@@ -9,9 +9,9 @@ module Nylas
9
9
  allows_operations(creatable: true, listable: true, filterable: true, showable: true, updatable: true,
10
10
  destroyable: true)
11
11
 
12
- attribute :id, :string
13
- attribute :object, :string
14
- attribute :account_id, :string
12
+ attribute :id, :string, exclude_when: %i[saving]
13
+ attribute :object, :string, exclude_when: %i[saving]
14
+ attribute :account_id, :string, exclude_when: %i[saving]
15
15
  attribute :calendar_id, :string
16
16
  attribute :master_event_id, :string
17
17
  attribute :message_id, :string
@@ -31,6 +31,7 @@ module Nylas
31
31
  "/delta/longpoll" => 3650,
32
32
  "/delta/streaming" => 3650
33
33
  }.freeze
34
+ SUPPORTED_API_VERSION = "2.2"
34
35
 
35
36
  include Logging
36
37
  attr_accessor :api_server, :service_domain
@@ -137,6 +138,7 @@ module Nylas
137
138
  @default_headers ||= {
138
139
  "X-Nylas-API-Wrapper" => "ruby",
139
140
  "X-Nylas-Client-Id" => @app_id,
141
+ "Nylas-API-Version" => SUPPORTED_API_VERSION,
140
142
  "User-Agent" => "Nylas Ruby SDK #{Nylas::VERSION} - #{RUBY_VERSION}",
141
143
  "Content-types" => "application/json"
142
144
  }
@@ -11,8 +11,15 @@ module Nylas
11
11
  end
12
12
 
13
13
  def send!
14
- Message.new(api.execute(method: :post, path: "/send", payload: mime_compatible_string,
15
- headers: { "Content-type" => "message/rfc822" }).merge(api: api))
14
+ Message.new(**api.execute(
15
+ method: :post,
16
+ path: "/send",
17
+ payload: mime_compatible_string,
18
+ headers: HEADERS
19
+ ).merge(api: api))
16
20
  end
21
+
22
+ HEADERS = { "Content-type" => "message/rfc822" }.freeze
23
+ private_constant :HEADERS
17
24
  end
18
25
  end
data/lib/nylas/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nylas
4
- VERSION = "4.6.7"
4
+ VERSION = "5.0.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nylas
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.6.7
4
+ version: 5.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nylas, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-22 00:00:00.000000000 Z
11
+ date: 2021-05-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler