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 +4 -4
- data/.github/workflows/build.yml +1 -1
- data/.ruby-version +1 -1
- data/Appraisals +6 -2
- data/Gemfile +2 -0
- data/Gemfile.lock +33 -53
- data/README.md +21 -11
- data/VERSION +1 -1
- data/asana.gemspec +4 -4
- data/examples/cli_app.rb +2 -2
- data/examples/events.rb +3 -3
- data/examples/personal_access_token.rb +2 -2
- data/lib/asana/authentication/oauth2/access_token_authentication.rb +2 -1
- data/lib/asana/authentication/oauth2/bearer_token_authentication.rb +1 -2
- data/lib/asana/authentication/token_authentication.rb +1 -1
- data/lib/asana/http_client/error_handling.rb +1 -3
- data/lib/asana/http_client.rb +8 -5
- data/lib/asana/resource_includes/attachment_uploading.rb +4 -2
- data/lib/asana/version.rb +1 -1
- metadata +16 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0c78f9f4dcaa8199ba6ba6422dc0691255e5c2f27688b2a4dd0a25839dc18d1e
|
|
4
|
+
data.tar.gz: 8bc1e52ce2cf1644a96e6d7a57a1d01e894e299d1af3c9dc6dbc1550015fe17b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c8a8b9ab41a2587fe635037c180c6c68e945e5cab02f260c8d171cd8915247f5ea0195c24245ab59861a8d165f462acaf8cc8daaec6b59d965eedce338ba3416
|
|
7
|
+
data.tar.gz: 155604a2b12f2962685b5ebd35319ef19e5cc9b01d71bfb4fcbdf687b19623d0ba038853897011e9ade58c40e3611fac1307bf4f2937d6114517912636ad383e
|
data/.github/workflows/build.yml
CHANGED
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.7.6
|
data/Appraisals
CHANGED
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
asana (2.0.
|
|
5
|
-
faraday (~>
|
|
6
|
-
|
|
7
|
-
|
|
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 (
|
|
23
|
-
faraday-
|
|
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-
|
|
35
|
-
|
|
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 (
|
|
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.
|
|
74
|
-
listen (3.
|
|
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.
|
|
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.
|
|
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, <
|
|
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.
|
|
76
|
+
pry (0.14.2)
|
|
98
77
|
coderay (~> 1.1)
|
|
99
78
|
method_source (~> 1.0)
|
|
100
|
-
rack (
|
|
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.
|
|
109
|
-
rspec-core (~> 3.
|
|
110
|
-
rspec-expectations (~> 3.
|
|
111
|
-
rspec-mocks (~> 3.
|
|
112
|
-
rspec-core (3.
|
|
113
|
-
rspec-support (~> 3.
|
|
114
|
-
rspec-expectations (3.
|
|
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.
|
|
117
|
-
rspec-mocks (3.
|
|
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.
|
|
120
|
-
rspec-support (3.
|
|
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.
|
|
109
|
+
ruby-progressbar (1.13.0)
|
|
131
110
|
ruby2_keywords (0.0.5)
|
|
132
111
|
shellany (0.0.1)
|
|
133
|
-
simplecov (0.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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.
|
|
22
|
+
spec.required_ruby_version = '>= 2.7'
|
|
23
23
|
|
|
24
24
|
spec.add_dependency "oauth2", ">= 1.4", '< 3'
|
|
25
|
-
spec.add_dependency "faraday", "~>
|
|
26
|
-
spec.add_dependency "
|
|
27
|
-
spec.add_dependency "
|
|
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.
|
|
20
|
+
client.workspaces.get_workspaces.each do |workspace|
|
|
21
21
|
puts "\t* #{workspace.name} - tags:"
|
|
22
|
-
client.tags.
|
|
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.
|
|
17
|
-
task = client.tasks.
|
|
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.
|
|
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.
|
|
16
|
+
client.workspaces.get_workspaces.each do |workspace|
|
|
17
17
|
puts "\t* #{workspace.name} - tags:"
|
|
18
|
-
client.tags.
|
|
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
|
|
@@ -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
|
-
|
|
113
|
+
JSON.load(response[:body])
|
|
116
114
|
end
|
|
117
115
|
|
|
118
116
|
def recover_response(response)
|
data/lib/asana/http_client.rb
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
require 'faraday'
|
|
2
|
-
require '
|
|
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 :
|
|
151
|
-
builder.response :
|
|
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
|
-
|
|
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
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.
|
|
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:
|
|
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: '
|
|
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: '
|
|
46
|
+
version: '2.0'
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
|
-
name:
|
|
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: '
|
|
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: '
|
|
60
|
+
version: '0'
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
|
-
name:
|
|
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
|
|
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
|
|
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.
|
|
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.
|
|
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
|