checkoff 0.197.0 → 0.199.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 +4 -4
- data/Gemfile.lock +1 -1
- data/lib/checkoff/portfolios.rb +8 -4
- data/lib/checkoff/sections.rb +14 -14
- data/lib/checkoff/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c58298d6292e9d70cfb62d354224e8b03de39798b8e2a822c284a55ca4aba4f
|
4
|
+
data.tar.gz: a9454f466639dcb730d6e2ecfe1f4a928827bade28f56a183c07a83b414c42c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6b583c219f0d571e9d1837a3fb9ff6fc5c2ff936da0bee0e33fe6207796c3b7d4bbe4e88e55c5959b4c8d43001bcdec805ba67f9ba674d3a347f8a4a287eb25
|
7
|
+
data.tar.gz: 4a0e6bcca51683b18266751047b7914d2abe039d3bef5363e1438065477a2b7c7069f3738dd8f7aedc3b705c60b9a67200509c7eb1dc7ae83809d9eec7f6d8a0
|
data/Gemfile.lock
CHANGED
data/lib/checkoff/portfolios.rb
CHANGED
@@ -7,6 +7,7 @@ require 'cache_method'
|
|
7
7
|
require_relative 'internal/config_loader'
|
8
8
|
require_relative 'workspaces'
|
9
9
|
require_relative 'clients'
|
10
|
+
require_relative 'projects'
|
10
11
|
|
11
12
|
# https://developers.asana.com/reference/portfolios
|
12
13
|
|
@@ -27,12 +28,15 @@ module Checkoff
|
|
27
28
|
# @param workspaces [Checkoff::Workspaces]
|
28
29
|
# @param clients [Checkoff::Clients]
|
29
30
|
# @param client [Asana::Client]
|
31
|
+
# @param projects [Checkoff::Projects]
|
30
32
|
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana),
|
31
33
|
clients: Checkoff::Clients.new(config: config),
|
32
34
|
client: clients.client,
|
35
|
+
projects: Checkoff::Projects.new(config: config, client: client),
|
33
36
|
workspaces: Checkoff::Workspaces.new(config: config, client: client))
|
34
37
|
@workspaces = workspaces
|
35
38
|
@client = client
|
39
|
+
@projects = projects
|
36
40
|
end
|
37
41
|
|
38
42
|
# @param workspace_name [String]
|
@@ -95,10 +99,7 @@ module Checkoff
|
|
95
99
|
#
|
96
100
|
# @return [Enumerable<Asana::Resources::Project>]
|
97
101
|
def projects_in_portfolio_obj(portfolio, extra_project_fields: [])
|
98
|
-
options =
|
99
|
-
fields: ['name'],
|
100
|
-
}
|
101
|
-
options[:fields] += extra_project_fields
|
102
|
+
options = projects.project_options(extra_project_fields: extra_project_fields)
|
102
103
|
client.portfolios.get_items_for_portfolio(portfolio_gid: portfolio.gid, options: options)
|
103
104
|
end
|
104
105
|
|
@@ -107,6 +108,9 @@ module Checkoff
|
|
107
108
|
# @return [Checkoff::Workspaces]
|
108
109
|
attr_reader :workspaces
|
109
110
|
|
111
|
+
# @return [Checkoff::Projects]
|
112
|
+
attr_reader :projects
|
113
|
+
|
110
114
|
# @return [Asana::Client]
|
111
115
|
attr_reader :client
|
112
116
|
|
data/lib/checkoff/sections.rb
CHANGED
@@ -70,7 +70,7 @@ module Checkoff
|
|
70
70
|
#
|
71
71
|
# @return [Enumerable<Asana::Resources::Section>]
|
72
72
|
def sections_by_project_gid(project_gid, extra_fields: [])
|
73
|
-
fields = %w[name] + extra_fields
|
73
|
+
fields = (%w[name] + extra_fields).sort.uniq
|
74
74
|
client.sections.get_sections_for_project(project_gid: project_gid,
|
75
75
|
options: { fields: fields })
|
76
76
|
end
|
@@ -212,6 +212,19 @@ module Checkoff
|
|
212
212
|
{}
|
213
213
|
end
|
214
214
|
|
215
|
+
# @sg-ignore
|
216
|
+
# @param workspace_name [String]
|
217
|
+
# @param project_name [String, Symbol]
|
218
|
+
# @param section_name [String, nil]
|
219
|
+
# @param extra_section_fields [Array<String>]
|
220
|
+
#
|
221
|
+
# @return [Asana::Resources::Section, nil]
|
222
|
+
def section(workspace_name, project_name, section_name, extra_section_fields: [])
|
223
|
+
sections = sections_or_raise(workspace_name, project_name,
|
224
|
+
extra_fields: extra_section_fields)
|
225
|
+
sections.find { |section| section_key(section.name)&.chomp(':') == section_name&.chomp(':') }
|
226
|
+
end
|
227
|
+
|
215
228
|
private
|
216
229
|
|
217
230
|
include Logging
|
@@ -292,18 +305,5 @@ module Checkoff
|
|
292
305
|
end
|
293
306
|
project
|
294
307
|
end
|
295
|
-
|
296
|
-
# @sg-ignore
|
297
|
-
# @param workspace_name [String]
|
298
|
-
# @param project_name [String, Symbol]
|
299
|
-
# @param section_name [String, nil]
|
300
|
-
# @param extra_section_fields [Array<String>]
|
301
|
-
#
|
302
|
-
# @return [Asana::Resources::Section, nil]
|
303
|
-
def section(workspace_name, project_name, section_name, extra_section_fields: [])
|
304
|
-
sections = sections_or_raise(workspace_name, project_name,
|
305
|
-
extra_fields: extra_section_fields)
|
306
|
-
sections.find { |section| section_key(section.name)&.chomp(':') == section_name&.chomp(':') }
|
307
|
-
end
|
308
308
|
end
|
309
309
|
end
|
data/lib/checkoff/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: checkoff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.199.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vince Broz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|