asana 2.0.0 → 2.0.1

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: 79c29d830033169faeef65fea64f81703176051201c2047cb951f9456471baa6
4
- data.tar.gz: fe391a1e882fe5291437eb9f2052b887c888b8e259f3182cf35d2ddf2ffc72c8
3
+ metadata.gz: 0c78f9f4dcaa8199ba6ba6422dc0691255e5c2f27688b2a4dd0a25839dc18d1e
4
+ data.tar.gz: 8bc1e52ce2cf1644a96e6d7a57a1d01e894e299d1af3c9dc6dbc1550015fe17b
5
5
  SHA512:
6
- metadata.gz: 789b9cd1fb242c9c07496f2fc4123de1c6e1218ead39952ff1965526ed0bf3910f4f392bbead235f4ba1a1df17b1af09410d89dfb92d96077ebadcb9919615f1
7
- data.tar.gz: bb90c3775c43110ce691e19d594cb696f477d10012e7c693318a7d9f1a04365c527fce606668948cf9ead376bdb098ee010c62aae55843d785a43759dd6b0785
6
+ metadata.gz: c8a8b9ab41a2587fe635037c180c6c68e945e5cab02f260c8d171cd8915247f5ea0195c24245ab59861a8d165f462acaf8cc8daaec6b59d965eedce338ba3416
7
+ data.tar.gz: 155604a2b12f2962685b5ebd35319ef19e5cc9b01d71bfb4fcbdf687b19623d0ba038853897011e9ade58c40e3611fac1307bf4f2937d6114517912636ad383e
@@ -14,7 +14,7 @@ jobs:
14
14
  runs-on: ubuntu-latest
15
15
  strategy:
16
16
  matrix:
17
- ruby: [2.5, 2.7, 3.0]
17
+ ruby: [2.7, 3.0, 3.1]
18
18
  steps:
19
19
  - uses: actions/checkout@v3
20
20
  - uses: ruby/setup-ruby@v1
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.5.0
1
+ 2.7.6
data/Appraisals CHANGED
@@ -1,4 +1,8 @@
1
1
 
2
- appraise "faraday-1.0.0" do
3
- gem "faraday", "1.0.0"
2
+ appraise "faraday-2.7.0" do
3
+ gem "faraday", "2.7.0"
4
4
  end
5
+
6
+ appraise "faraday-2.6.0" do
7
+ gem "faraday", "2.6.0"
8
+ end
data/Gemfile CHANGED
@@ -12,6 +12,8 @@ group :tools do
12
12
  gem 'rubocop', '~> 0.52.1'
13
13
  gem 'rubocop-rspec', '~> 1.22.2'
14
14
 
15
+ gem 'oauth2', '~> 2.0.3'
16
+
15
17
  gem 'guard'
16
18
  gem 'guard-rspec'
17
19
  gem 'guard-rubocop'
data/Gemfile.lock CHANGED
@@ -1,10 +1,10 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- asana (2.0.0)
5
- faraday (~> 1.0)
6
- faraday_middleware (~> 1.0)
7
- faraday_middleware-multi_json (~> 0.0)
4
+ asana (2.0.1)
5
+ faraday (~> 2.0)
6
+ faraday-follow_redirects
7
+ faraday-multipart
8
8
  oauth2 (>= 1.4, < 3)
9
9
 
10
10
  GEM
@@ -19,34 +19,14 @@ GEM
19
19
  coderay (1.1.3)
20
20
  diff-lcs (1.5.0)
21
21
  docile (1.4.0)
22
- faraday (1.10.2)
23
- faraday-em_http (~> 1.0)
24
- faraday-em_synchrony (~> 1.0)
25
- faraday-excon (~> 1.1)
26
- faraday-httpclient (~> 1.0)
27
- faraday-multipart (~> 1.0)
28
- faraday-net_http (~> 1.0)
29
- faraday-net_http_persistent (~> 1.0)
30
- faraday-patron (~> 1.0)
31
- faraday-rack (~> 1.0)
32
- faraday-retry (~> 1.0)
22
+ faraday (2.7.4)
23
+ faraday-net_http (>= 2.0, < 3.1)
33
24
  ruby2_keywords (>= 0.0.4)
34
- faraday-em_http (1.0.0)
35
- faraday-em_synchrony (1.0.0)
36
- faraday-excon (1.1.0)
37
- faraday-httpclient (1.0.1)
25
+ faraday-follow_redirects (0.3.0)
26
+ faraday (>= 1, < 3)
38
27
  faraday-multipart (1.0.4)
39
28
  multipart-post (~> 2)
40
- faraday-net_http (1.0.1)
41
- faraday-net_http_persistent (1.2.0)
42
- faraday-patron (1.0.0)
43
- faraday-rack (1.0.0)
44
- faraday-retry (1.0.3)
45
- faraday_middleware (1.2.0)
46
- faraday (~> 1.0)
47
- faraday_middleware-multi_json (0.0.6)
48
- faraday_middleware
49
- multi_json
29
+ faraday-net_http (3.0.2)
50
30
  ffi (1.15.5)
51
31
  formatador (1.1.0)
52
32
  guard (2.18.0)
@@ -70,34 +50,33 @@ GEM
70
50
  guard (>= 1.1.0)
71
51
  yard (>= 0.7.0)
72
52
  hashie (5.0.0)
73
- jwt (2.5.0)
74
- listen (3.7.1)
53
+ jwt (2.7.0)
54
+ listen (3.8.0)
75
55
  rb-fsevent (~> 0.10, >= 0.10.3)
76
56
  rb-inotify (~> 0.9, >= 0.9.10)
77
57
  lumberjack (1.2.8)
78
58
  method_source (1.0.0)
79
- multi_json (1.15.0)
80
59
  multi_xml (0.6.0)
81
- multipart-post (2.2.3)
60
+ multipart-post (2.3.0)
82
61
  nenv (0.3.0)
83
62
  notiffany (0.1.3)
84
63
  nenv (~> 0.1)
85
64
  shellany (~> 0.0)
86
- oauth2 (2.0.8)
65
+ oauth2 (2.0.9)
87
66
  faraday (>= 0.17.3, < 3.0)
88
67
  jwt (>= 1.0, < 3.0)
89
68
  multi_xml (~> 0.5)
90
- rack (>= 1.2, < 3)
69
+ rack (>= 1.2, < 4)
91
70
  snaky_hash (~> 2.0)
92
71
  version_gem (~> 1.1)
93
72
  parallel (1.22.1)
94
73
  parser (2.7.2.0)
95
74
  ast (~> 2.4.1)
96
75
  powerpack (0.1.3)
97
- pry (0.14.1)
76
+ pry (0.14.2)
98
77
  coderay (~> 1.1)
99
78
  method_source (~> 1.0)
100
- rack (2.2.4)
79
+ rack (3.0.4.2)
101
80
  rack-protection (1.5.5)
102
81
  rack
103
82
  rainbow (3.1.1)
@@ -105,19 +84,19 @@ GEM
105
84
  rb-fsevent (0.11.2)
106
85
  rb-inotify (0.10.1)
107
86
  ffi (~> 1.0)
108
- rspec (3.11.0)
109
- rspec-core (~> 3.11.0)
110
- rspec-expectations (~> 3.11.0)
111
- rspec-mocks (~> 3.11.0)
112
- rspec-core (3.11.0)
113
- rspec-support (~> 3.11.0)
114
- rspec-expectations (3.11.0)
87
+ rspec (3.12.0)
88
+ rspec-core (~> 3.12.0)
89
+ rspec-expectations (~> 3.12.0)
90
+ rspec-mocks (~> 3.12.0)
91
+ rspec-core (3.12.1)
92
+ rspec-support (~> 3.12.0)
93
+ rspec-expectations (3.12.2)
115
94
  diff-lcs (>= 1.2.0, < 2.0)
116
- rspec-support (~> 3.11.0)
117
- rspec-mocks (3.11.1)
95
+ rspec-support (~> 3.12.0)
96
+ rspec-mocks (3.12.3)
118
97
  diff-lcs (>= 1.2.0, < 2.0)
119
- rspec-support (~> 3.11.0)
120
- rspec-support (3.11.0)
98
+ rspec-support (~> 3.12.0)
99
+ rspec-support (3.12.0)
121
100
  rubocop (0.52.1)
122
101
  parallel (~> 1.10)
123
102
  parser (>= 2.4.0.2, < 3.0)
@@ -127,22 +106,22 @@ GEM
127
106
  unicode-display_width (~> 1.0, >= 1.0.1)
128
107
  rubocop-rspec (1.22.2)
129
108
  rubocop (>= 0.52.1)
130
- ruby-progressbar (1.11.0)
109
+ ruby-progressbar (1.13.0)
131
110
  ruby2_keywords (0.0.5)
132
111
  shellany (0.0.1)
133
- simplecov (0.21.2)
112
+ simplecov (0.22.0)
134
113
  docile (~> 1.1)
135
114
  simplecov-html (~> 0.11)
136
115
  simplecov_json_formatter (~> 0.1)
137
116
  simplecov-html (0.12.3)
138
117
  simplecov_json_formatter (0.1.4)
139
- snaky_hash (2.0.0)
118
+ snaky_hash (2.0.1)
140
119
  hashie
141
- version_gem (~> 1.1)
120
+ version_gem (~> 1.1, >= 1.1.1)
142
121
  thor (1.2.1)
143
122
  tomparse (0.4.2)
144
123
  unicode-display_width (1.8.0)
145
- version_gem (1.1.0)
124
+ version_gem (1.1.1)
146
125
  webrick (1.7.0)
147
126
  yard (0.9.28)
148
127
  webrick (~> 1.7.0)
@@ -151,6 +130,7 @@ GEM
151
130
  yard
152
131
 
153
132
  PLATFORMS
133
+ ruby
154
134
  universal-darwin-21
155
135
  x86_64-linux
156
136
 
data/README.md CHANGED
@@ -41,7 +41,7 @@ client = Asana::Client.new do |c|
41
41
  c.authentication :access_token, 'personal_access_token'
42
42
  end
43
43
 
44
- client.workspaces.find_all.first
44
+ client.workspaces.get_workspaces.first
45
45
  ```
46
46
 
47
47
  A full-blown customized client using OAuth2 wih a previously obtained refresh
@@ -61,7 +61,7 @@ client = Asana::Client.new do |c|
61
61
  c.configure_faraday { |conn| conn.use SomeFaradayMiddleware }
62
62
  end
63
63
 
64
- workspace = client.workspaces.find_by_id(12)
64
+ workspace = client.workspaces.get_workspace(12)
65
65
  workspace.users
66
66
  # => #<Asana::Collection<User> ...>
67
67
  client.tags.create_in_workspace(workspace: workspace.id, name: 'foo')
@@ -152,7 +152,7 @@ client = Asana::Client.new do |c|
152
152
  c.authentication :oauth2, access_token
153
153
  end
154
154
 
155
- client.tasks.find_by_id(12)
155
+ client.tasks.get_task(12)
156
156
  ```
157
157
 
158
158
  This will print an authorization URL on STDOUT, and block until you paste in the
@@ -166,7 +166,7 @@ results per page to fetch, between 1 and 100. If you don't provide any, it
166
166
  defaults to 20.
167
167
 
168
168
  ```ruby
169
- my_tasks = client.tasks.find_by_tag(tag: tag_id, per_page: 5)
169
+ my_tasks = client.tasks.get_tasks_for_tag(tag: tag_id, per_page: 5)
170
170
  # => #<Asana::Collection<Task> ...>
171
171
  ```
172
172
 
@@ -226,7 +226,7 @@ All requests (except `DELETE`) accept extra I/O options
226
226
  request:
227
227
 
228
228
  ```ruby
229
- client.tasks.find_by_id(12, options: { expand: ['workspace'] })
229
+ client.tasks.get_task(12, options: { expand: ['workspace'] })
230
230
  ```
231
231
 
232
232
  ### Attachment uploading
@@ -235,7 +235,7 @@ To attach a file to a task or a project, you just need its absolute path on your
235
235
  filesystem and its MIME type, and the file will be uploaded for you:
236
236
 
237
237
  ```ruby
238
- task = client.tasks.find_by_id(12)
238
+ task = client.tasks.get_task(12)
239
239
  attachment = task.attach(filename: '/absolute/path/to/my/file.png',
240
240
  mime: 'image/png')
241
241
  attachment.name # => 'file.png'
@@ -247,7 +247,7 @@ To subscribe to an event stream of a task or a project, just call `#events` on
247
247
  it:
248
248
 
249
249
  ```ruby
250
- task = client.tasks.find_by_id(12)
250
+ task = client.tasks.get_task(12)
251
251
  task.events # => #<Asana::Events ...>
252
252
 
253
253
  # You can do the same with only the task id:
@@ -272,7 +272,7 @@ normal Ruby Enumerable. Read below to get some ideas.
272
272
 
273
273
  ```ruby
274
274
  # Run this in another thread so that we don't block forever
275
- events = client.tasks.find_by_id(12).events(wait: 2)
275
+ events = client.tasks.get_task(12).events(wait: 2)
276
276
  Thread.new do
277
277
  events.each do |event|
278
278
  notify_someone "New event arrived! #{event}"
@@ -286,7 +286,7 @@ To do that we need to call `#lazy` on the `Events` instance, just like with any
286
286
  other `Enumerable`.
287
287
 
288
288
  ```ruby
289
- events = client.tasks.find_by_id(12).events
289
+ events = client.tasks.get_task(12).events
290
290
  only_change_events = events.lazy.select { |event| event.action == 'changed' }
291
291
  Thread.new do
292
292
  only_change_events.each do |event|
@@ -316,7 +316,7 @@ If you would rather suppress these warnings, you can set
316
316
 
317
317
  ## Development
318
318
 
319
- You'll need Ruby 2.5+ and Node v0.10.26+ / NPM 1.4.3+ installed.
319
+ You'll need Ruby 2.7+ and Node v0.10.26+ / NPM 1.4.3+ installed.
320
320
 
321
321
  After checking out the repo, run `bin/setup` to install dependencies. Then, run
322
322
  `bin/console` for an interactive prompt that will allow you to experiment.
@@ -329,7 +329,17 @@ To install this gem onto your local machine, run `bundle exec rake install`.
329
329
 
330
330
  ## Releasing a new version
331
331
 
332
- To release a new version, run either of these commands:
332
+ Prerequisite: Before deployment, make sure you have Ruby version `2.7` installed
333
+
334
+ ### Automatic Deployment
335
+
336
+ First, install dependencies:
337
+
338
+ ```
339
+ bundle install
340
+ ```
341
+
342
+ Then, to release a new version, run one of these commands:
333
343
 
334
344
  rake bump:patch
335
345
  rake bump:minor
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.0
1
+ 2.0.1
data/asana.gemspec CHANGED
@@ -19,12 +19,12 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.required_ruby_version = '>= 2.5'
22
+ spec.required_ruby_version = '>= 2.7'
23
23
 
24
24
  spec.add_dependency "oauth2", ">= 1.4", '< 3'
25
- spec.add_dependency "faraday", "~> 1.0"
26
- spec.add_dependency "faraday_middleware", "~> 1.0"
27
- spec.add_dependency "faraday_middleware-multi_json", "~> 0.0"
25
+ spec.add_dependency "faraday", "~> 2.0"
26
+ spec.add_dependency "faraday-follow_redirects"
27
+ spec.add_dependency "faraday-multipart"
28
28
 
29
29
  spec.add_development_dependency "rake", "~> 13.0"
30
30
  spec.add_development_dependency "rspec", "~> 3.2"
data/examples/cli_app.rb CHANGED
@@ -17,9 +17,9 @@ client = Asana::Client.new do |c|
17
17
  end
18
18
 
19
19
  puts "My Workspaces:"
20
- client.workspaces.find_all.each do |workspace|
20
+ client.workspaces.get_workspaces.each do |workspace|
21
21
  puts "\t* #{workspace.name} - tags:"
22
- client.tags.find_by_workspace(workspace: workspace.id).each do |tag|
22
+ client.tags.get_tags_for_workspace(workspace: workspace.id).each do |tag|
23
23
  puts "\t\t- #{tag.name}"
24
24
  end
25
25
  end
data/examples/events.rb CHANGED
@@ -13,10 +13,10 @@ client = Asana::Client.new do |c|
13
13
  c.authentication :access_token, access_token
14
14
  end
15
15
 
16
- workspace = client.workspaces.find_all.first
17
- task = client.tasks.find_all(assignee: "me", workspace: workspace.id).first
16
+ workspace = client.workspaces.get_workspaces.first
17
+ task = client.tasks.get_tasks(assignee: "me", workspace: workspace.id).first
18
18
  unless task
19
- task = client.tasks.create(workspace: workspace.id, name: "Hello world!", assignee: "me")
19
+ task = client.tasks.create_task(workspace: workspace.id, name: "Hello world!", assignee: "me")
20
20
  end
21
21
 
22
22
  Thread.abort_on_exception = true
@@ -13,9 +13,9 @@ client = Asana::Client.new do |c|
13
13
  end
14
14
 
15
15
  puts "My Workspaces:"
16
- client.workspaces.find_all.each do |workspace|
16
+ client.workspaces.get_workspaces.each do |workspace|
17
17
  puts "\t* #{workspace.name} - tags:"
18
- client.tags.find_by_workspace(workspace: workspace.id).each do |tag|
18
+ client.tags.get_tags_for_workspace(workspace: workspace.id).each do |tag|
19
19
  puts "\t\t- #{tag.name}"
20
20
  end
21
21
  end
@@ -43,7 +43,8 @@ module Asana
43
43
  # Returns nothing.
44
44
  def configure(connection)
45
45
  @token = @token.refresh! if @token.expired?
46
- connection.request :oauth2, @token.token
46
+
47
+ connection.request :authorization, 'Bearer', @token.token
47
48
  end
48
49
  end
49
50
  end
@@ -24,8 +24,7 @@ module Asana
24
24
  #
25
25
  # Returns nothing.
26
26
  def configure(connection)
27
- connection.authorization :Bearer, @token
28
- connection.request :oauth2, token_type: 'bearer'
27
+ connection.request :authorization, 'Bearer', @token
29
28
  end
30
29
  end
31
30
  end
@@ -13,7 +13,7 @@ module Asana
13
13
  #
14
14
  # Returns nothing.
15
15
  def configure(connection)
16
- connection.basic_auth(@token, '')
16
+ connection.request :authorization, :basic, @token, ''
17
17
  end
18
18
  end
19
19
  end
@@ -1,5 +1,3 @@
1
- require 'multi_json'
2
-
3
1
  require_relative '../errors'
4
2
 
5
3
  module Asana
@@ -112,7 +110,7 @@ module Asana
112
110
 
113
111
  # Internal: Parser a response body from JSON.
114
112
  def body(response)
115
- MultiJson.load(response[:body])
113
+ JSON.load(response[:body])
116
114
  end
117
115
 
118
116
  def recover_response(response)
@@ -1,6 +1,5 @@
1
1
  require 'faraday'
2
- require 'faraday_middleware'
3
- require 'faraday_middleware/multi_json'
2
+ require 'faraday/follow_redirects'
4
3
 
5
4
  require_relative 'http_client/error_handling'
6
5
  require_relative 'http_client/environment_info'
@@ -130,6 +129,7 @@ module Asana
130
129
  yield builder if request_config
131
130
  configure_format(builder)
132
131
  add_middleware(builder)
132
+ configure_redirects(builder)
133
133
  @config.call(builder) if @config
134
134
  use_adapter(builder, @adapter)
135
135
  end
@@ -147,13 +147,16 @@ module Asana
147
147
  end
148
148
 
149
149
  def configure_format(builder)
150
- builder.request :multi_json
151
- builder.response :multi_json
150
+ builder.request :json
151
+ builder.response :json
152
152
  end
153
153
 
154
154
  def add_middleware(builder)
155
155
  builder.use Faraday::Response::RaiseError
156
- builder.use FaradayMiddleware::FollowRedirects
156
+ end
157
+
158
+ def configure_redirects(builder)
159
+ builder.response :follow_redirects
157
160
  end
158
161
 
159
162
  def use_adapter(builder, adapter)
@@ -1,3 +1,5 @@
1
+ require 'faraday/multipart'
2
+
1
3
  module Asana
2
4
  module Resources
3
5
  # Internal: Mixin to add the ability to upload an attachment to a specific
@@ -21,9 +23,9 @@ module Asana
21
23
  path = File.expand_path(filename)
22
24
  raise ArgumentError, "file #{filename} doesn't exist" unless File.exist?(path)
23
25
 
24
- Faraday::FilePart.new(path, mime)
26
+ Faraday::Multipart::FilePart.new(path, mime)
25
27
  else
26
- Faraday::FilePart.new(io, mime, filename)
28
+ Faraday::Multipart::FilePart.new(io, mime, filename)
27
29
  end
28
30
 
29
31
  response = client.post("/#{self.class.plural_name}/#{gid}/attachments",
data/lib/asana/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  #:nodoc:
2
2
  module Asana
3
3
  # Public: Version of the gem.
4
- VERSION = '2.0.0'
4
+ VERSION = '2.0.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asana
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Txus
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-09 00:00:00.000000000 Z
11
+ date: 2023-03-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: oauth2
@@ -36,42 +36,42 @@ dependencies:
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '1.0'
39
+ version: '2.0'
40
40
  type: :runtime
41
41
  prerelease: false
42
42
  version_requirements: !ruby/object:Gem::Requirement
43
43
  requirements:
44
44
  - - "~>"
45
45
  - !ruby/object:Gem::Version
46
- version: '1.0'
46
+ version: '2.0'
47
47
  - !ruby/object:Gem::Dependency
48
- name: faraday_middleware
48
+ name: faraday-follow_redirects
49
49
  requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
- - - "~>"
51
+ - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: '1.0'
53
+ version: '0'
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
- - - "~>"
58
+ - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: '1.0'
60
+ version: '0'
61
61
  - !ruby/object:Gem::Dependency
62
- name: faraday_middleware-multi_json
62
+ name: faraday-multipart
63
63
  requirement: !ruby/object:Gem::Requirement
64
64
  requirements:
65
- - - "~>"
65
+ - - ">="
66
66
  - !ruby/object:Gem::Version
67
- version: '0.0'
67
+ version: '0'
68
68
  type: :runtime
69
69
  prerelease: false
70
70
  version_requirements: !ruby/object:Gem::Requirement
71
71
  requirements:
72
- - - "~>"
72
+ - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: '0.0'
74
+ version: '0'
75
75
  - !ruby/object:Gem::Dependency
76
76
  name: rake
77
77
  requirement: !ruby/object:Gem::Requirement
@@ -284,14 +284,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
284
284
  requirements:
285
285
  - - ">="
286
286
  - !ruby/object:Gem::Version
287
- version: '2.5'
287
+ version: '2.7'
288
288
  required_rubygems_version: !ruby/object:Gem::Requirement
289
289
  requirements:
290
290
  - - ">="
291
291
  - !ruby/object:Gem::Version
292
292
  version: '0'
293
293
  requirements: []
294
- rubygems_version: 3.1.2
294
+ rubygems_version: 3.3.5
295
295
  signing_key:
296
296
  specification_version: 4
297
297
  summary: Official Ruby client for the Asana API