asana 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (50) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +38 -3
  3. data/Appraisals +7 -6
  4. data/Gemfile +5 -3
  5. data/Gemfile.lock +22 -12
  6. data/Guardfile +12 -10
  7. data/README.md +3 -1
  8. data/Rakefile +14 -17
  9. data/VERSION +1 -1
  10. data/asana.gemspec +19 -17
  11. data/lib/asana/authentication/oauth2/access_token_authentication.rb +2 -0
  12. data/lib/asana/authentication/oauth2/bearer_token_authentication.rb +2 -0
  13. data/lib/asana/authentication/oauth2/client.rb +2 -0
  14. data/lib/asana/authentication/oauth2.rb +6 -4
  15. data/lib/asana/authentication/token_authentication.rb +2 -0
  16. data/lib/asana/authentication.rb +2 -0
  17. data/lib/asana/client/configuration.rb +6 -5
  18. data/lib/asana/client.rb +13 -11
  19. data/lib/asana/errors.rb +16 -11
  20. data/lib/asana/http_client/environment_info.rb +9 -8
  21. data/lib/asana/http_client/error_handling.rb +24 -23
  22. data/lib/asana/http_client/response.rb +2 -0
  23. data/lib/asana/http_client.rb +58 -60
  24. data/lib/asana/resource_includes/attachment_uploading.rb +2 -4
  25. data/lib/asana/resource_includes/collection.rb +4 -4
  26. data/lib/asana/resource_includes/event.rb +2 -0
  27. data/lib/asana/resource_includes/event_subscription.rb +2 -0
  28. data/lib/asana/resource_includes/events.rb +4 -1
  29. data/lib/asana/resource_includes/registry.rb +2 -0
  30. data/lib/asana/resource_includes/resource.rb +8 -5
  31. data/lib/asana/resource_includes/response_helper.rb +2 -0
  32. data/lib/asana/resources/audit_log_api.rb +42 -0
  33. data/lib/asana/resources/gen/attachments_base.rb +1 -1
  34. data/lib/asana/resources/gen/audit_log_api_base.rb +1 -1
  35. data/lib/asana/resources/gen/memberships_base.rb +71 -0
  36. data/lib/asana/resources/gen/tasks_base.rb +1 -1
  37. data/lib/asana/resources/goal.rb +54 -0
  38. data/lib/asana/resources/goal_relationship.rb +32 -0
  39. data/lib/asana/resources/membership.rb +20 -0
  40. data/lib/asana/resources/project_brief.rb +30 -0
  41. data/lib/asana/resources/project_template.rb +36 -0
  42. data/lib/asana/resources/status_update.rb +54 -0
  43. data/lib/asana/resources/time_period.rb +30 -0
  44. data/lib/asana/resources/typeahead.rb +1 -1
  45. data/lib/asana/resources.rb +4 -4
  46. data/lib/asana/ruby2_0_0_compatibility.rb +2 -0
  47. data/lib/asana/version.rb +1 -1
  48. data/lib/asana.rb +2 -0
  49. data/samples/memberships_sample.yaml +41 -0
  50. metadata +49 -38
@@ -0,0 +1,36 @@
1
+ require_relative 'gen/project_templates_base'
2
+
3
+ module Asana
4
+ module Resources
5
+ class ProjectTemplate < ProjectTemplatesBase
6
+
7
+
8
+ attr_reader :gid
9
+
10
+ attr_reader :resource_type
11
+
12
+ attr_reader :color
13
+
14
+ attr_reader :description
15
+
16
+ attr_reader :html_description
17
+
18
+ attr_reader :name
19
+
20
+ attr_reader :owner
21
+
22
+ attr_reader :public
23
+
24
+ attr_reader :requested_dates
25
+
26
+ attr_reader :team
27
+
28
+ class << self
29
+ # Returns the plural name of the resource.
30
+ def plural_name
31
+ 'project_templates'
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,54 @@
1
+ require_relative 'gen/status_updates_base'
2
+
3
+ module Asana
4
+ module Resources
5
+ class StatusUpdate < StatusUpdatesBase
6
+
7
+
8
+ attr_reader :gid
9
+
10
+ attr_reader :resource_type
11
+
12
+ attr_reader :html_text
13
+
14
+ attr_reader :resource_subtype
15
+
16
+ attr_reader :status_type
17
+
18
+ attr_reader :text
19
+
20
+ attr_reader :title
21
+
22
+ attr_reader :author
23
+
24
+ attr_reader :created_at
25
+
26
+ attr_reader :created_by
27
+
28
+ attr_reader :hearted
29
+
30
+ attr_reader :hearts
31
+
32
+ attr_reader :liked
33
+
34
+ attr_reader :likes
35
+
36
+ attr_reader :created_at
37
+
38
+ attr_reader :modified_at
39
+
40
+ attr_reader :num_hearts
41
+
42
+ attr_reader :num_likes
43
+
44
+ attr_reader :parent
45
+
46
+ class << self
47
+ # Returns the plural name of the resource.
48
+ def plural_name
49
+ 'status_updates'
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,30 @@
1
+ require_relative 'gen/time_periods_base'
2
+
3
+ module Asana
4
+ module Resources
5
+ class TimePeriod < TimePeriodsBase
6
+
7
+
8
+ attr_reader :gid
9
+
10
+ attr_reader :resource_type
11
+
12
+ attr_reader :display_name
13
+
14
+ attr_reader :end_on
15
+
16
+ attr_reader :parent
17
+
18
+ attr_reader :period
19
+
20
+ attr_reader :start_on
21
+
22
+ class << self
23
+ # Returns the plural name of the resource.
24
+ def plural_name
25
+ 'time_periods'
26
+ end
27
+ end
28
+ end
29
+ end
30
+ end
@@ -14,7 +14,7 @@ module Asana
14
14
  class << self
15
15
  # Returns the plural name of the resource.
16
16
  def plural_name
17
- 'typeaheads'
17
+ 'typeahead'
18
18
  end
19
19
  end
20
20
  end
@@ -1,11 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'resource_includes/resource'
2
4
  require_relative 'resource_includes/collection'
3
5
 
4
- Dir[File.join(File.dirname(__FILE__), 'resource_includes', '*.rb')]
5
- .each { |resource| require resource }
6
+ Dir[File.join(File.dirname(__FILE__), 'resource_includes', '*.rb')].sort.each { |resource| require resource }
6
7
 
7
- Dir[File.join(File.dirname(__FILE__), 'resources', '*.rb')]
8
- .each { |resource| require resource }
8
+ Dir[File.join(File.dirname(__FILE__), 'resources', '*.rb')].sort.each { |resource| require resource }
9
9
 
10
10
  module Asana
11
11
  # Public: Contains all the resources that the Asana API can return.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  def required(name)
2
4
  raise(ArgumentError, "#{name} is a required keyword argument")
3
5
  end
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.1'
4
+ VERSION = '2.0.2'
5
5
  end
data/lib/asana.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'asana/ruby2_0_0_compatibility'
2
4
  require 'asana/authentication'
3
5
  require 'asana/resources'
@@ -0,0 +1,41 @@
1
+ memberships:
2
+ create_membership: >-
3
+ require 'asana'
4
+
5
+
6
+ client = Asana::Client.new do |c|
7
+ c.authentication :access_token, 'PERSONAL_ACCESS_TOKEN'
8
+ end
9
+
10
+
11
+ result = client.memberships.create_membership(field: "value", field: "value", options: {pretty: true})
12
+ delete_membership: >-
13
+ require 'asana'
14
+
15
+
16
+ client = Asana::Client.new do |c|
17
+ c.authentication :access_token, 'PERSONAL_ACCESS_TOKEN'
18
+ end
19
+
20
+
21
+ result = client.memberships.delete_membership(membership_gid: 'membership_gid', options: {pretty: true})
22
+ get_memberships: >-
23
+ require 'asana'
24
+
25
+
26
+ client = Asana::Client.new do |c|
27
+ c.authentication :access_token, 'PERSONAL_ACCESS_TOKEN'
28
+ end
29
+
30
+
31
+ result = client.memberships.get_memberships(parent: '&#x27;parent_example&#x27;', param: "value", param: "value", options: {pretty: true})
32
+ update_membership: >-
33
+ require 'asana'
34
+
35
+
36
+ client = Asana::Client.new do |c|
37
+ c.authentication :access_token, 'PERSONAL_ACCESS_TOKEN'
38
+ end
39
+
40
+
41
+ result = client.memberships.update_membership(membership_gid: 'membership_gid', field: "value", field: "value", options: {pretty: true})
metadata CHANGED
@@ -1,35 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: asana
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Txus
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-03-06 00:00:00.000000000 Z
11
+ date: 2023-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: oauth2
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: '1.4'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '3'
23
- type: :runtime
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: '1.4'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '3'
33
13
  - !ruby/object:Gem::Dependency
34
14
  name: faraday
35
15
  requirement: !ruby/object:Gem::Requirement
@@ -73,53 +53,73 @@ dependencies:
73
53
  - !ruby/object:Gem::Version
74
54
  version: '0'
75
55
  - !ruby/object:Gem::Dependency
76
- name: rake
56
+ name: oauth2
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '1.4'
62
+ - - "<"
63
+ - !ruby/object:Gem::Version
64
+ version: '3'
65
+ type: :runtime
66
+ prerelease: false
67
+ version_requirements: !ruby/object:Gem::Requirement
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ version: '1.4'
72
+ - - "<"
73
+ - !ruby/object:Gem::Version
74
+ version: '3'
75
+ - !ruby/object:Gem::Dependency
76
+ name: appraisal
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '13.0'
81
+ version: '2.1'
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: '2.1'
82
85
  type: :development
83
86
  prerelease: false
84
87
  version_requirements: !ruby/object:Gem::Requirement
85
88
  requirements:
86
89
  - - "~>"
87
90
  - !ruby/object:Gem::Version
88
- version: '13.0'
91
+ version: '2.1'
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: '2.1'
89
95
  - !ruby/object:Gem::Dependency
90
- name: rspec
96
+ name: rake
91
97
  requirement: !ruby/object:Gem::Requirement
92
98
  requirements:
93
99
  - - "~>"
94
100
  - !ruby/object:Gem::Version
95
- version: '3.2'
101
+ version: '13.0'
96
102
  type: :development
97
103
  prerelease: false
98
104
  version_requirements: !ruby/object:Gem::Requirement
99
105
  requirements:
100
106
  - - "~>"
101
107
  - !ruby/object:Gem::Version
102
- version: '3.2'
108
+ version: '13.0'
103
109
  - !ruby/object:Gem::Dependency
104
- name: appraisal
110
+ name: rspec
105
111
  requirement: !ruby/object:Gem::Requirement
106
112
  requirements:
107
113
  - - "~>"
108
114
  - !ruby/object:Gem::Version
109
- version: '2.1'
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: '2.1'
115
+ version: '3.2'
113
116
  type: :development
114
117
  prerelease: false
115
118
  version_requirements: !ruby/object:Gem::Requirement
116
119
  requirements:
117
120
  - - "~>"
118
121
  - !ruby/object:Gem::Version
119
- version: '2.1'
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: '2.1'
122
+ version: '3.2'
123
123
  description: Official Ruby client for the Asana API
124
124
  email:
125
125
  - me@txus.io
@@ -178,6 +178,7 @@ files:
178
178
  - lib/asana/resource_includes/response_helper.rb
179
179
  - lib/asana/resources.rb
180
180
  - lib/asana/resources/attachment.rb
181
+ - lib/asana/resources/audit_log_api.rb
181
182
  - lib/asana/resources/batch_api.rb
182
183
  - lib/asana/resources/custom_field_settings.rb
183
184
  - lib/asana/resources/custom_fields.rb
@@ -191,6 +192,7 @@ files:
191
192
  - lib/asana/resources/gen/goal_relationships_base.rb
192
193
  - lib/asana/resources/gen/goals_base.rb
193
194
  - lib/asana/resources/gen/jobs_base.rb
195
+ - lib/asana/resources/gen/memberships_base.rb
194
196
  - lib/asana/resources/gen/organization_exports_base.rb
195
197
  - lib/asana/resources/gen/portfolio_memberships_base.rb
196
198
  - lib/asana/resources/gen/portfolios_base.rb
@@ -213,19 +215,26 @@ files:
213
215
  - lib/asana/resources/gen/webhooks_base.rb
214
216
  - lib/asana/resources/gen/workspace_memberships_base.rb
215
217
  - lib/asana/resources/gen/workspaces_base.rb
218
+ - lib/asana/resources/goal.rb
219
+ - lib/asana/resources/goal_relationship.rb
216
220
  - lib/asana/resources/job.rb
221
+ - lib/asana/resources/membership.rb
217
222
  - lib/asana/resources/organization_export.rb
218
223
  - lib/asana/resources/portfolio.rb
219
224
  - lib/asana/resources/portfolio_membership.rb
220
225
  - lib/asana/resources/project.rb
226
+ - lib/asana/resources/project_brief.rb
221
227
  - lib/asana/resources/project_membership.rb
222
228
  - lib/asana/resources/project_status.rb
229
+ - lib/asana/resources/project_template.rb
223
230
  - lib/asana/resources/section.rb
231
+ - lib/asana/resources/status_update.rb
224
232
  - lib/asana/resources/story.rb
225
233
  - lib/asana/resources/tag.rb
226
234
  - lib/asana/resources/task.rb
227
235
  - lib/asana/resources/team.rb
228
236
  - lib/asana/resources/team_membership.rb
237
+ - lib/asana/resources/time_period.rb
229
238
  - lib/asana/resources/typeahead.rb
230
239
  - lib/asana/resources/user.rb
231
240
  - lib/asana/resources/user_task_list.rb
@@ -247,6 +256,7 @@ files:
247
256
  - samples/goal_relationships_sample.yaml
248
257
  - samples/goals_sample.yaml
249
258
  - samples/jobs_sample.yaml
259
+ - samples/memberships_sample.yaml
250
260
  - samples/organization_exports_sample.yaml
251
261
  - samples/portfolio_memberships_sample.yaml
252
262
  - samples/portfolios_sample.yaml
@@ -275,7 +285,8 @@ files:
275
285
  homepage: https://github.com/asana/ruby-asana
276
286
  licenses:
277
287
  - MIT
278
- metadata: {}
288
+ metadata:
289
+ rubygems_mfa_required: 'true'
279
290
  post_install_message:
280
291
  rdoc_options: []
281
292
  require_paths: