asana 2.0.1 → 2.0.2

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.
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: