checkoff 0.225.0 → 0.227.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/lib/checkoff/attachments.rb +11 -11
- data/lib/checkoff/cli.rb +9 -9
- data/lib/checkoff/custom_fields.rb +3 -3
- data/lib/checkoff/events.rb +6 -6
- data/lib/checkoff/internal/asana_event_enrichment.rb +10 -10
- data/lib/checkoff/internal/asana_event_filter.rb +2 -2
- data/lib/checkoff/internal/project_selector_evaluator.rb +2 -2
- data/lib/checkoff/internal/project_timing.rb +1 -1
- data/lib/checkoff/internal/search_url/parser.rb +3 -3
- data/lib/checkoff/internal/search_url/simple_param_converter.rb +1 -1
- data/lib/checkoff/internal/section_selector_evaluator.rb +4 -4
- data/lib/checkoff/internal/selector_classes/project.rb +2 -2
- data/lib/checkoff/internal/selector_classes/task.rb +4 -4
- data/lib/checkoff/internal/selector_evaluator.rb +1 -1
- data/lib/checkoff/internal/task_hashes.rb +1 -1
- data/lib/checkoff/internal/task_selector_evaluator.rb +1 -1
- data/lib/checkoff/internal/task_timing.rb +1 -1
- data/lib/checkoff/my_tasks.rb +5 -5
- data/lib/checkoff/portfolios.rb +6 -6
- data/lib/checkoff/project_selectors.rb +8 -8
- data/lib/checkoff/projects.rb +13 -13
- data/lib/checkoff/resources.rb +6 -6
- data/lib/checkoff/section_selectors.rb +7 -7
- data/lib/checkoff/sections.rb +22 -22
- data/lib/checkoff/subtasks.rb +6 -6
- data/lib/checkoff/tags.rb +8 -8
- data/lib/checkoff/task_searches.rb +12 -12
- data/lib/checkoff/task_selectors.rb +11 -11
- data/lib/checkoff/tasks.rb +23 -23
- data/lib/checkoff/timelines.rb +6 -6
- data/lib/checkoff/version.rb +1 -1
- data/lib/checkoff/workspaces.rb +1 -1
- data/rbi/checkoff.rbi +2486 -53
- data/sig/checkoff.rbs +33 -13
- metadata +3 -3
data/rbi/checkoff.rbi
CHANGED
@@ -1,4 +1,2414 @@
|
|
1
|
-
# typed:
|
1
|
+
# typed: true
|
2
|
+
module Logging
|
3
|
+
sig { returns(T.untyped) }
|
4
|
+
def logger; end
|
5
|
+
|
6
|
+
sig { params(message: T.untyped, block: T.untyped).returns(T.untyped) }
|
7
|
+
def error(message = nil, &block); end
|
8
|
+
|
9
|
+
sig { params(message: T.untyped, block: T.untyped).returns(T.untyped) }
|
10
|
+
def warn(message = nil, &block); end
|
11
|
+
|
12
|
+
sig { params(message: T.untyped, block: T.untyped).returns(T.untyped) }
|
13
|
+
def info(message = nil, &block); end
|
14
|
+
|
15
|
+
sig { params(message: T.untyped, block: T.untyped).returns(T.untyped) }
|
16
|
+
def debug(message = nil, &block); end
|
17
|
+
|
18
|
+
sig { params(message: T.untyped, block: T.untyped).returns(T.untyped) }
|
19
|
+
def finer(message = nil, &block); end
|
20
|
+
|
21
|
+
sig { returns(T.untyped) }
|
22
|
+
def log_level; end
|
23
|
+
end
|
24
|
+
|
25
|
+
module Asana
|
26
|
+
module Resources
|
27
|
+
class Resource
|
28
|
+
sig { returns(T.untyped) }
|
29
|
+
def marshal_dump; end
|
30
|
+
|
31
|
+
sig { params(data: T.untyped).returns(T.untyped) }
|
32
|
+
def marshal_load(data); end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
module Overcommit
|
38
|
+
module Hook
|
39
|
+
module PreCommit
|
40
|
+
class CircleCi < Base
|
41
|
+
sig { returns(T.untyped) }
|
42
|
+
def run; end
|
43
|
+
end
|
44
|
+
|
45
|
+
class Punchlist < Base
|
46
|
+
sig { params(stdout: T.untyped).returns(T.untyped) }
|
47
|
+
def parse_output(stdout); end
|
48
|
+
|
49
|
+
sig { returns(T.untyped) }
|
50
|
+
def files_glob; end
|
51
|
+
|
52
|
+
sig { returns(T.untyped) }
|
53
|
+
def run; end
|
54
|
+
end
|
55
|
+
|
56
|
+
class SolargraphTypecheck < Base
|
57
|
+
sig { returns(T.untyped) }
|
58
|
+
def run; end
|
59
|
+
|
60
|
+
sig { params(stderr: T.untyped).returns(T.untyped) }
|
61
|
+
def remove_harmless_glitches(stderr); end
|
62
|
+
|
63
|
+
sig { params(errors: T.untyped, files: T.untyped).returns(T.untyped) }
|
64
|
+
def generate_errors_for_files(errors, *files); end
|
65
|
+
|
66
|
+
sig { params(error: T.untyped).returns(T.untyped) }
|
67
|
+
def parse_error(error); end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
module Checkoff
|
74
|
+
VERSION = '0.227.0'
|
75
|
+
|
76
|
+
class Attachments
|
77
|
+
include Logging
|
78
|
+
MINUTE = 60
|
79
|
+
HOUR = MINUTE * 60
|
80
|
+
DAY = 24 * HOUR
|
81
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
82
|
+
LONG_CACHE_TIME = MINUTE * 15
|
83
|
+
SHORT_CACHE_TIME = MINUTE
|
84
|
+
|
85
|
+
sig do
|
86
|
+
params(
|
87
|
+
config: T.untyped,
|
88
|
+
workspaces: T.untyped,
|
89
|
+
clients: T.untyped,
|
90
|
+
client: T.untyped
|
91
|
+
).void
|
92
|
+
end
|
93
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
94
|
+
|
95
|
+
sig do
|
96
|
+
params(
|
97
|
+
url: T.untyped,
|
98
|
+
resource: T.untyped,
|
99
|
+
attachment_name: T.untyped,
|
100
|
+
verify_mode: T.untyped,
|
101
|
+
just_the_url: T.untyped
|
102
|
+
).returns(T.untyped)
|
103
|
+
end
|
104
|
+
def create_attachment_from_url!(url, resource, attachment_name: nil, verify_mode: OpenSSL::SSL::VERIFY_PEER, just_the_url: false); end
|
105
|
+
|
106
|
+
sig { params(uri: T.untyped, verify_mode: T.untyped, block: T.untyped).returns(T.untyped) }
|
107
|
+
def download_uri(uri, verify_mode: OpenSSL::SSL::VERIFY_PEER, &block); end
|
108
|
+
|
109
|
+
sig { params(response: T.untyped).returns(T.untyped) }
|
110
|
+
def write_tempfile_from_response(response); end
|
111
|
+
|
112
|
+
sig do
|
113
|
+
params(
|
114
|
+
url: T.untyped,
|
115
|
+
resource: T.untyped,
|
116
|
+
attachment_name: T.untyped,
|
117
|
+
verify_mode: T.untyped
|
118
|
+
).returns(T.untyped)
|
119
|
+
end
|
120
|
+
def create_attachment_from_downloaded_url!(url, resource, attachment_name:, verify_mode: OpenSSL::SSL::VERIFY_PEER); end
|
121
|
+
|
122
|
+
sig { params(url: T.untyped, resource: T.untyped, attachment_name: T.untyped).returns(T.untyped) }
|
123
|
+
def create_attachment_from_url_alone!(url, resource, attachment_name:); end
|
124
|
+
|
125
|
+
sig { params(filename: T.untyped).returns(T.untyped) }
|
126
|
+
def content_type_from_filename(filename); end
|
127
|
+
|
128
|
+
sig { params(response: T.untyped).returns(T.untyped) }
|
129
|
+
def parse(response); end
|
130
|
+
|
131
|
+
sig { returns(T.untyped) }
|
132
|
+
attr_reader :workspaces
|
133
|
+
|
134
|
+
sig { returns(T.untyped) }
|
135
|
+
attr_reader :client
|
136
|
+
|
137
|
+
sig { returns(T.untyped) }
|
138
|
+
def self.run; end
|
139
|
+
end
|
140
|
+
|
141
|
+
class MvSubcommand
|
142
|
+
sig { params(from_workspace_arg: T.untyped, from_project_arg: T.untyped, from_section_arg: T.untyped).returns(T.untyped) }
|
143
|
+
def validate_and_assign_from_location(from_workspace_arg, from_project_arg, from_section_arg); end
|
144
|
+
|
145
|
+
sig { params(to_project_arg: T.untyped).returns(T.untyped) }
|
146
|
+
def create_to_project_name(to_project_arg); end
|
147
|
+
|
148
|
+
sig { params(to_section_arg: T.untyped).returns(T.untyped) }
|
149
|
+
def create_to_section_name(to_section_arg); end
|
150
|
+
|
151
|
+
sig { params(to_workspace_arg: T.untyped, to_project_arg: T.untyped, to_section_arg: T.untyped).returns(T.untyped) }
|
152
|
+
def validate_and_assign_to_location(to_workspace_arg, to_project_arg, to_section_arg); end
|
153
|
+
|
154
|
+
sig do
|
155
|
+
params(
|
156
|
+
from_workspace_arg: T.untyped,
|
157
|
+
from_project_arg: T.untyped,
|
158
|
+
from_section_arg: T.untyped,
|
159
|
+
to_workspace_arg: T.untyped,
|
160
|
+
to_project_arg: T.untyped,
|
161
|
+
to_section_arg: T.untyped,
|
162
|
+
config: T.untyped,
|
163
|
+
projects: T.untyped,
|
164
|
+
sections: T.untyped,
|
165
|
+
logger: T.untyped
|
166
|
+
).void
|
167
|
+
end
|
168
|
+
def initialize(from_workspace_arg:, from_project_arg:, from_section_arg:, to_workspace_arg:, to_project_arg:, to_section_arg:, config: Checkoff::Internal::ConfigLoader.load(:asana), projects: Checkoff::Projects.new(config:), sections: Checkoff::Sections.new(config:), logger: $stderr); end
|
169
|
+
|
170
|
+
sig { params(tasks: T.untyped, to_project: T.untyped, to_section: T.untyped).returns(T.untyped) }
|
171
|
+
def move_tasks(tasks, to_project, to_section); end
|
172
|
+
|
173
|
+
sig { params(from_workspace_name: T.untyped, from_project_name: T.untyped, from_section_name: T.untyped).returns(T.untyped) }
|
174
|
+
def fetch_tasks(from_workspace_name, from_project_name, from_section_name); end
|
175
|
+
|
176
|
+
sig { returns(T.untyped) }
|
177
|
+
def run; end
|
178
|
+
|
179
|
+
sig { returns(T.untyped) }
|
180
|
+
attr_reader :from_workspace_name
|
181
|
+
|
182
|
+
sig { returns(T.untyped) }
|
183
|
+
attr_reader :from_project_name
|
184
|
+
|
185
|
+
sig { returns(T.untyped) }
|
186
|
+
attr_reader :from_section_name
|
187
|
+
|
188
|
+
sig { returns(T.untyped) }
|
189
|
+
attr_reader :to_workspace_name
|
190
|
+
|
191
|
+
sig { returns(T.untyped) }
|
192
|
+
attr_reader :to_project_name
|
193
|
+
|
194
|
+
sig { returns(T.untyped) }
|
195
|
+
attr_reader :to_section_name
|
196
|
+
|
197
|
+
sig { returns(T.untyped) }
|
198
|
+
attr_reader :projects
|
199
|
+
|
200
|
+
sig { returns(T.untyped) }
|
201
|
+
attr_reader :sections
|
202
|
+
|
203
|
+
sig { params(project_arg: T.untyped).returns(T.untyped) }
|
204
|
+
def project_arg_to_name(project_arg); end
|
205
|
+
end
|
206
|
+
|
207
|
+
class ViewSubcommand
|
208
|
+
sig do
|
209
|
+
params(
|
210
|
+
workspace_name: T.untyped,
|
211
|
+
project_name: T.untyped,
|
212
|
+
section_name: T.untyped,
|
213
|
+
task_name: T.untyped,
|
214
|
+
config: T.untyped,
|
215
|
+
projects: T.untyped,
|
216
|
+
sections: T.untyped,
|
217
|
+
tasks: T.untyped,
|
218
|
+
stderr: T.untyped
|
219
|
+
).void
|
220
|
+
end
|
221
|
+
def initialize(workspace_name, project_name, section_name, task_name, config: Checkoff::Internal::ConfigLoader.load(:asana), projects: Checkoff::Projects.new(config:), sections: Checkoff::Sections.new(config:,
|
222
|
+
projects:), tasks: Checkoff::Tasks.new(config:,
|
223
|
+
sections:), stderr: $stderr); end
|
224
|
+
|
225
|
+
sig { returns(T.untyped) }
|
226
|
+
def run; end
|
227
|
+
|
228
|
+
sig { params(project_name: T.untyped).returns(T.untyped) }
|
229
|
+
def validate_and_assign_project_name(project_name); end
|
230
|
+
|
231
|
+
sig { params(workspace: T.untyped, project: T.untyped).returns(T.untyped) }
|
232
|
+
def run_on_project(workspace, project); end
|
233
|
+
|
234
|
+
sig { params(workspace: T.untyped, project: T.untyped, section: T.untyped).returns(T.untyped) }
|
235
|
+
def run_on_section(workspace, project, section); end
|
236
|
+
|
237
|
+
sig do
|
238
|
+
params(
|
239
|
+
workspace: T.untyped,
|
240
|
+
project: T.untyped,
|
241
|
+
section: T.untyped,
|
242
|
+
task_name: T.untyped
|
243
|
+
).returns(T.untyped)
|
244
|
+
end
|
245
|
+
def run_on_task(workspace, project, section, task_name); end
|
246
|
+
|
247
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
248
|
+
def task_to_hash(task); end
|
249
|
+
|
250
|
+
sig { params(tasks: T.untyped).returns(T.untyped) }
|
251
|
+
def tasks_to_hash(tasks); end
|
252
|
+
|
253
|
+
sig { returns(T.untyped) }
|
254
|
+
attr_reader :workspace_name
|
255
|
+
|
256
|
+
sig { returns(T.untyped) }
|
257
|
+
attr_reader :project_name
|
258
|
+
|
259
|
+
sig { returns(T.untyped) }
|
260
|
+
attr_reader :section_name
|
261
|
+
|
262
|
+
sig { returns(T.untyped) }
|
263
|
+
attr_reader :task_name
|
264
|
+
|
265
|
+
sig { returns(T.untyped) }
|
266
|
+
attr_reader :sections
|
267
|
+
|
268
|
+
sig { returns(T.untyped) }
|
269
|
+
attr_reader :tasks
|
270
|
+
|
271
|
+
sig { returns(T.untyped) }
|
272
|
+
attr_reader :stderr
|
273
|
+
end
|
274
|
+
|
275
|
+
class QuickaddSubcommand
|
276
|
+
sig do
|
277
|
+
params(
|
278
|
+
workspace_name: T.untyped,
|
279
|
+
task_name: T.untyped,
|
280
|
+
config: T.untyped,
|
281
|
+
workspaces: T.untyped,
|
282
|
+
tasks: T.untyped
|
283
|
+
).void
|
284
|
+
end
|
285
|
+
def initialize(workspace_name, task_name, config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), tasks: Checkoff::Tasks.new(config:)); end
|
286
|
+
|
287
|
+
sig { returns(T.untyped) }
|
288
|
+
def run; end
|
289
|
+
|
290
|
+
sig { returns(T.untyped) }
|
291
|
+
attr_reader :workspace_name
|
292
|
+
|
293
|
+
sig { returns(T.untyped) }
|
294
|
+
attr_reader :task_name
|
295
|
+
end
|
296
|
+
|
297
|
+
class CheckoffGLIApp
|
298
|
+
extend ::GLI::App
|
299
|
+
end
|
300
|
+
|
301
|
+
class Clients
|
302
|
+
MINUTE = 60
|
303
|
+
HOUR = MINUTE * 60
|
304
|
+
DAY = 24 * HOUR
|
305
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
306
|
+
LONG_CACHE_TIME = MINUTE * 15
|
307
|
+
SHORT_CACHE_TIME = MINUTE
|
308
|
+
|
309
|
+
sig { params(config: T.untyped, asana_client_class: T.untyped).void }
|
310
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), asana_client_class: Asana::Client); end
|
311
|
+
|
312
|
+
sig { returns(T.untyped) }
|
313
|
+
def client; end
|
314
|
+
|
315
|
+
sig { returns(T.untyped) }
|
316
|
+
def self.run; end
|
317
|
+
end
|
318
|
+
|
319
|
+
class CustomFields
|
320
|
+
MINUTE = 60
|
321
|
+
HOUR = MINUTE * 60
|
322
|
+
DAY = 24 * HOUR
|
323
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
324
|
+
LONG_CACHE_TIME = MINUTE * 15
|
325
|
+
SHORT_CACHE_TIME = MINUTE
|
326
|
+
|
327
|
+
sig do
|
328
|
+
params(
|
329
|
+
config: T.untyped,
|
330
|
+
clients: T.untyped,
|
331
|
+
client: T.untyped,
|
332
|
+
workspaces: T.untyped
|
333
|
+
).void
|
334
|
+
end
|
335
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), clients: Checkoff::Clients.new(config:), client: clients.client, workspaces: Checkoff::Workspaces.new(config:,
|
336
|
+
client:)); end
|
337
|
+
|
338
|
+
sig { params(workspace_name: T.untyped, custom_field_name: T.untyped).returns(T.untyped) }
|
339
|
+
def custom_field_or_raise(workspace_name, custom_field_name); end
|
340
|
+
|
341
|
+
sig { params(workspace_name: T.untyped, custom_field_name: T.untyped).returns(T.untyped) }
|
342
|
+
def custom_field(workspace_name, custom_field_name); end
|
343
|
+
|
344
|
+
sig { params(resource: T.untyped, custom_field_gid: T.untyped).returns(T.untyped) }
|
345
|
+
def resource_custom_field_values_gids_or_raise(resource, custom_field_gid); end
|
346
|
+
|
347
|
+
sig { params(resource: T.untyped, custom_field_name: T.untyped).returns(T.untyped) }
|
348
|
+
def resource_custom_field_values_names_by_name(resource, custom_field_name); end
|
349
|
+
|
350
|
+
sig { params(resource: T.untyped, custom_field_name: T.untyped).returns(T.untyped) }
|
351
|
+
def resource_custom_field_by_name(resource, custom_field_name); end
|
352
|
+
|
353
|
+
sig { params(resource: T.untyped, custom_field_name: T.untyped).returns(T.untyped) }
|
354
|
+
def resource_custom_field_by_name_or_raise(resource, custom_field_name); end
|
355
|
+
|
356
|
+
sig { params(resource: T.untyped, custom_field_gid: T.untyped).returns(T.untyped) }
|
357
|
+
def resource_custom_field_by_gid_or_raise(resource, custom_field_gid); end
|
358
|
+
|
359
|
+
sig { params(custom_field: T.untyped).returns(T.untyped) }
|
360
|
+
def resource_custom_field_enum_values(custom_field); end
|
361
|
+
|
362
|
+
sig { params(custom_field: T.untyped, enum_value: T.untyped).returns(T.untyped) }
|
363
|
+
def find_gids(custom_field, enum_value); end
|
364
|
+
|
365
|
+
sig { returns(T.untyped) }
|
366
|
+
attr_reader :workspaces
|
367
|
+
|
368
|
+
sig { returns(T.untyped) }
|
369
|
+
attr_reader :client
|
370
|
+
|
371
|
+
sig { returns(T.untyped) }
|
372
|
+
def self.run; end
|
373
|
+
end
|
374
|
+
|
375
|
+
class Events
|
376
|
+
include Logging
|
377
|
+
MINUTE = 60
|
378
|
+
HOUR = MINUTE * 60
|
379
|
+
DAY = 24 * HOUR
|
380
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
381
|
+
LONG_CACHE_TIME = MINUTE * 15
|
382
|
+
SHORT_CACHE_TIME = MINUTE
|
383
|
+
|
384
|
+
sig do
|
385
|
+
params(
|
386
|
+
config: T.untyped,
|
387
|
+
workspaces: T.untyped,
|
388
|
+
tasks: T.untyped,
|
389
|
+
sections: T.untyped,
|
390
|
+
projects: T.untyped,
|
391
|
+
clients: T.untyped,
|
392
|
+
client: T.untyped,
|
393
|
+
asana_event_filter_class: T.untyped,
|
394
|
+
asana_event_enrichment: T.untyped
|
395
|
+
).void
|
396
|
+
end
|
397
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), tasks: Checkoff::Tasks.new(config:), sections: Checkoff::Sections.new(config:), projects: Checkoff::Projects.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client, asana_event_filter_class: Checkoff::Internal::AsanaEventFilter, asana_event_enrichment: Checkoff::Internal::AsanaEventEnrichment.new); end
|
398
|
+
|
399
|
+
sig { params(filters: T.untyped, asana_events: T.untyped).returns(T.untyped) }
|
400
|
+
def filter_asana_events(filters, asana_events); end
|
401
|
+
|
402
|
+
sig { params(asana_event: T.untyped).returns(T.untyped) }
|
403
|
+
def enrich_event(asana_event); end
|
404
|
+
|
405
|
+
sig { params(filter: T.untyped).returns(T.untyped) }
|
406
|
+
def enrich_filter(filter); end
|
407
|
+
|
408
|
+
sig { params(webhook_subscription: T.untyped).returns(T.untyped) }
|
409
|
+
def enrich_webhook_subscription!(webhook_subscription); end
|
410
|
+
|
411
|
+
sig { returns(T.untyped) }
|
412
|
+
attr_reader :projects
|
413
|
+
|
414
|
+
sig { returns(T.untyped) }
|
415
|
+
attr_reader :sections
|
416
|
+
|
417
|
+
sig { returns(T.untyped) }
|
418
|
+
attr_reader :tasks
|
419
|
+
|
420
|
+
sig { returns(T.untyped) }
|
421
|
+
attr_reader :workspaces
|
422
|
+
|
423
|
+
sig { returns(T.untyped) }
|
424
|
+
attr_reader :client
|
425
|
+
|
426
|
+
sig { returns(T.untyped) }
|
427
|
+
attr_reader :asana_event_enrichment
|
428
|
+
|
429
|
+
sig { returns(T.untyped) }
|
430
|
+
def self.run; end
|
431
|
+
end
|
432
|
+
|
433
|
+
class ProjectSelectorEvaluator < SelectorEvaluator
|
434
|
+
COMMON_FUNCTION_EVALUATORS = (Checkoff::SelectorClasses::Common.constants.map do |const|
|
435
|
+
Checkoff::SelectorClasses::Common.const_get(const)
|
436
|
+
end - [Checkoff::SelectorClasses::Common::FunctionEvaluator]).freeze
|
437
|
+
PROJECT_FUNCTION_EVALUATORS = (Checkoff::SelectorClasses::Project.constants.map do |const|
|
438
|
+
Checkoff::SelectorClasses::Project.const_get(const)
|
439
|
+
end - [Checkoff::SelectorClasses::Project::FunctionEvaluator]).freeze
|
440
|
+
FUNCTION_EVALUTORS = (COMMON_FUNCTION_EVALUATORS + PROJECT_FUNCTION_EVALUATORS).freeze
|
441
|
+
|
442
|
+
sig do
|
443
|
+
params(
|
444
|
+
project: T.untyped,
|
445
|
+
projects: T.untyped,
|
446
|
+
custom_fields: T.untyped,
|
447
|
+
workspaces: T.untyped,
|
448
|
+
portfolios: T.untyped
|
449
|
+
).void
|
450
|
+
end
|
451
|
+
def initialize(project:, projects: Checkoff::Projects.new, custom_fields: Checkoff::CustomFields.new, workspaces: Checkoff::Workspaces.new, portfolios: Checkoff::Portfolios.new); end
|
452
|
+
|
453
|
+
sig { returns(T.untyped) }
|
454
|
+
def function_evaluators; end
|
455
|
+
|
456
|
+
sig { returns(T.untyped) }
|
457
|
+
def initializer_kwargs; end
|
458
|
+
|
459
|
+
sig { returns(T.untyped) }
|
460
|
+
attr_reader :item
|
461
|
+
|
462
|
+
sig { returns(T.untyped) }
|
463
|
+
attr_reader :projects
|
464
|
+
|
465
|
+
sig { returns(T.untyped) }
|
466
|
+
attr_reader :custom_fields
|
467
|
+
|
468
|
+
sig { returns(T.untyped) }
|
469
|
+
attr_reader :workspaces
|
470
|
+
|
471
|
+
sig { returns(T.untyped) }
|
472
|
+
attr_reader :portfolios
|
473
|
+
end
|
474
|
+
|
475
|
+
class SectionSelectorEvaluator < SelectorEvaluator
|
476
|
+
COMMON_FUNCTION_EVALUATORS = (Checkoff::SelectorClasses::Common.constants.map do |const|
|
477
|
+
Checkoff::SelectorClasses::Common.const_get(const)
|
478
|
+
end - [Checkoff::SelectorClasses::Common::FunctionEvaluator]).freeze
|
479
|
+
SECTION_FUNCTION_EVALUATORS = (Checkoff::SelectorClasses::Section.constants.map do |const|
|
480
|
+
Checkoff::SelectorClasses::Section.const_get(const)
|
481
|
+
end - [Checkoff::SelectorClasses::Section::FunctionEvaluator]).freeze
|
482
|
+
FUNCTION_EVALUTORS = (COMMON_FUNCTION_EVALUATORS + SECTION_FUNCTION_EVALUATORS).freeze
|
483
|
+
|
484
|
+
sig do
|
485
|
+
params(
|
486
|
+
section: T.untyped,
|
487
|
+
client: T.untyped,
|
488
|
+
projects: T.untyped,
|
489
|
+
sections: T.untyped,
|
490
|
+
custom_fields: T.untyped,
|
491
|
+
_kwargs: T.untyped
|
492
|
+
).void
|
493
|
+
end
|
494
|
+
def initialize(section:, client:, projects: Checkoff::Projects.new(client:), sections: Checkoff::Sections.new(client:), custom_fields: Checkoff::CustomFields.new(client:), **_kwargs); end
|
495
|
+
|
496
|
+
sig { returns(T.untyped) }
|
497
|
+
def function_evaluators; end
|
498
|
+
|
499
|
+
sig { returns(T.untyped) }
|
500
|
+
def initializer_kwargs; end
|
501
|
+
|
502
|
+
sig { returns(T.untyped) }
|
503
|
+
attr_reader :item
|
504
|
+
|
505
|
+
sig { returns(T.untyped) }
|
506
|
+
attr_reader :sections
|
507
|
+
|
508
|
+
sig { returns(T.untyped) }
|
509
|
+
attr_reader :projects
|
510
|
+
|
511
|
+
sig { returns(T.untyped) }
|
512
|
+
attr_reader :custom_fields
|
513
|
+
|
514
|
+
sig { returns(T.untyped) }
|
515
|
+
attr_reader :client
|
516
|
+
end
|
517
|
+
|
518
|
+
class SelectorEvaluator
|
519
|
+
sig { params(selector: T.untyped).returns(T.untyped) }
|
520
|
+
def evaluate(selector); end
|
521
|
+
|
522
|
+
sig { returns(T.untyped) }
|
523
|
+
def initializer_kwargs; end
|
524
|
+
|
525
|
+
sig { returns(T.untyped) }
|
526
|
+
def function_evaluators; end
|
527
|
+
|
528
|
+
sig { params(selector: T.untyped, evaluator: T.untyped).returns(T.untyped) }
|
529
|
+
def evaluate_args(selector, evaluator); end
|
530
|
+
|
531
|
+
sig { params(selector: T.untyped, evaluator: T.untyped).returns(T.untyped) }
|
532
|
+
def try_this_evaluator(selector, evaluator); end
|
533
|
+
|
534
|
+
sig { returns(T.untyped) }
|
535
|
+
attr_reader :item
|
536
|
+
end
|
537
|
+
|
538
|
+
class TaskSelectorEvaluator < SelectorEvaluator
|
539
|
+
COMMON_FUNCTION_EVALUATORS = (Checkoff::SelectorClasses::Common.constants.map do |const|
|
540
|
+
Checkoff::SelectorClasses::Common.const_get(const)
|
541
|
+
end - [Checkoff::SelectorClasses::Common::FunctionEvaluator]).freeze
|
542
|
+
TASK_FUNCTION_EVALUATORS = (Checkoff::SelectorClasses::Task.constants.map do |const|
|
543
|
+
Checkoff::SelectorClasses::Task.const_get(const)
|
544
|
+
end - [Checkoff::SelectorClasses::Task::FunctionEvaluator]).freeze
|
545
|
+
FUNCTION_EVALUTORS = (COMMON_FUNCTION_EVALUATORS + TASK_FUNCTION_EVALUATORS).freeze
|
546
|
+
|
547
|
+
sig do
|
548
|
+
params(
|
549
|
+
task: T.untyped,
|
550
|
+
tasks: T.untyped,
|
551
|
+
timelines: T.untyped,
|
552
|
+
custom_fields: T.untyped
|
553
|
+
).void
|
554
|
+
end
|
555
|
+
def initialize(task:, tasks: Checkoff::Tasks.new, timelines: Checkoff::Timelines.new, custom_fields: Checkoff::CustomFields.new); end
|
556
|
+
|
557
|
+
sig { returns(T.untyped) }
|
558
|
+
def function_evaluators; end
|
559
|
+
|
560
|
+
sig { returns(T.untyped) }
|
561
|
+
def initializer_kwargs; end
|
562
|
+
|
563
|
+
sig { returns(T.untyped) }
|
564
|
+
attr_reader :item
|
565
|
+
|
566
|
+
sig { returns(T.untyped) }
|
567
|
+
attr_reader :tasks
|
568
|
+
|
569
|
+
sig { returns(T.untyped) }
|
570
|
+
attr_reader :timelines
|
571
|
+
|
572
|
+
sig { returns(T.untyped) }
|
573
|
+
attr_reader :custom_fields
|
574
|
+
end
|
575
|
+
|
576
|
+
class MyTasks
|
577
|
+
MINUTE = 60
|
578
|
+
LONG_CACHE_TIME = MINUTE * 15
|
579
|
+
SHORT_CACHE_TIME = MINUTE * 5
|
580
|
+
|
581
|
+
sig { returns(T.untyped) }
|
582
|
+
attr_reader :projects
|
583
|
+
|
584
|
+
sig { params(config: T.untyped, client: T.untyped, projects: T.untyped).void }
|
585
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, projects: Checkoff::Projects.new(config:,
|
586
|
+
client:)); end
|
587
|
+
|
588
|
+
sig { params(project: T.untyped, only_uncompleted: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
589
|
+
def tasks_by_section_for_my_tasks(project, only_uncompleted: true, extra_fields: []); end
|
590
|
+
|
591
|
+
sig { params(name: T.untyped).returns(T.untyped) }
|
592
|
+
def section_key(name); end
|
593
|
+
|
594
|
+
sig { params(tasks: T.untyped, project_gid: T.untyped).returns(T.untyped) }
|
595
|
+
def by_my_tasks_section(tasks, project_gid); end
|
596
|
+
|
597
|
+
sig { returns(T.untyped) }
|
598
|
+
attr_reader :client
|
599
|
+
end
|
600
|
+
|
601
|
+
class Portfolios
|
602
|
+
extend T::Sig
|
603
|
+
MINUTE = 60
|
604
|
+
HOUR = T.let(MINUTE * 60, Numeric)
|
605
|
+
DAY = T.let(24 * HOUR, Numeric)
|
606
|
+
REALLY_LONG_CACHE_TIME = T.let(HOUR * 1, Numeric)
|
607
|
+
LONG_CACHE_TIME = T.let(MINUTE * 15, Numeric)
|
608
|
+
SHORT_CACHE_TIME = T.let(MINUTE, Numeric)
|
609
|
+
|
610
|
+
sig do
|
611
|
+
params(
|
612
|
+
config: T.untyped,
|
613
|
+
clients: T.untyped,
|
614
|
+
client: T.untyped,
|
615
|
+
projects: T.untyped,
|
616
|
+
workspaces: T.untyped
|
617
|
+
).void
|
618
|
+
end
|
619
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), clients: Checkoff::Clients.new(config:), client: clients.client, projects: Checkoff::Projects.new(config:, client:), workspaces: Checkoff::Workspaces.new(config:, client:)); end
|
620
|
+
|
621
|
+
sig { params(workspace_name: T.untyped, portfolio_name: T.untyped).returns(T.untyped) }
|
622
|
+
def portfolio_or_raise(workspace_name, portfolio_name); end
|
623
|
+
|
624
|
+
sig { params(workspace_name: T.untyped, portfolio_name: T.untyped).returns(T.untyped) }
|
625
|
+
def portfolio(workspace_name, portfolio_name); end
|
626
|
+
|
627
|
+
sig { params(portfolio_gid: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
628
|
+
def portfolio_by_gid(portfolio_gid, extra_fields: []); end
|
629
|
+
|
630
|
+
sig { params(workspace_name: T.untyped, portfolio_name: T.untyped, extra_project_fields: T.untyped).returns(T.untyped) }
|
631
|
+
def projects_in_portfolio(workspace_name, portfolio_name, extra_project_fields: []); end
|
632
|
+
|
633
|
+
sig { params(portfolio: T.untyped, extra_project_fields: T.untyped).returns(T.untyped) }
|
634
|
+
def projects_in_portfolio_obj(portfolio, extra_project_fields: []); end
|
635
|
+
|
636
|
+
sig { returns(T.untyped) }
|
637
|
+
attr_reader :workspaces
|
638
|
+
|
639
|
+
sig { returns(T.untyped) }
|
640
|
+
attr_reader :projects
|
641
|
+
|
642
|
+
sig { returns(T.untyped) }
|
643
|
+
attr_reader :client
|
644
|
+
|
645
|
+
sig { returns(T.untyped) }
|
646
|
+
def self.run; end
|
647
|
+
end
|
648
|
+
|
649
|
+
class ProjectSelectors
|
650
|
+
MINUTE = 60
|
651
|
+
HOUR = MINUTE * 60
|
652
|
+
DAY = 24 * HOUR
|
653
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
654
|
+
LONG_CACHE_TIME = MINUTE * 15
|
655
|
+
SHORT_CACHE_TIME = MINUTE
|
656
|
+
|
657
|
+
sig do
|
658
|
+
params(
|
659
|
+
config: T.untyped,
|
660
|
+
workspaces: T.untyped,
|
661
|
+
projects: T.untyped,
|
662
|
+
custom_fields: T.untyped,
|
663
|
+
portfolios: T.untyped,
|
664
|
+
clients: T.untyped,
|
665
|
+
client: T.untyped
|
666
|
+
).void
|
667
|
+
end
|
668
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), projects: Checkoff::Projects.new(config:), custom_fields: Checkoff::CustomFields.new(config:), portfolios: Checkoff::Portfolios.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
669
|
+
|
670
|
+
sig { params(project: T.untyped, project_selector: T.untyped).returns(T.untyped) }
|
671
|
+
def filter_via_project_selector(project, project_selector); end
|
672
|
+
|
673
|
+
sig { returns(T.untyped) }
|
674
|
+
attr_reader :workspaces
|
675
|
+
|
676
|
+
sig { returns(T.untyped) }
|
677
|
+
attr_reader :projects
|
678
|
+
|
679
|
+
sig { returns(T.untyped) }
|
680
|
+
attr_reader :custom_fields
|
681
|
+
|
682
|
+
sig { returns(T.untyped) }
|
683
|
+
attr_reader :portfolios
|
684
|
+
|
685
|
+
sig { returns(T.untyped) }
|
686
|
+
attr_reader :client
|
687
|
+
|
688
|
+
sig { returns(T.untyped) }
|
689
|
+
def self.run; end
|
690
|
+
end
|
691
|
+
|
692
|
+
class Projects
|
693
|
+
include Logging
|
694
|
+
MINUTE = 60
|
695
|
+
HOUR = MINUTE * 60
|
696
|
+
DAY = 24 * HOUR
|
697
|
+
REALLY_LONG_CACHE_TIME = MINUTE * 30
|
698
|
+
LONG_CACHE_TIME = MINUTE * 15
|
699
|
+
MEDIUM_CACHE_TIME = MINUTE * 5
|
700
|
+
SHORT_CACHE_TIME = MINUTE
|
701
|
+
|
702
|
+
sig do
|
703
|
+
params(
|
704
|
+
config: T.untyped,
|
705
|
+
client: T.untyped,
|
706
|
+
workspaces: T.untyped,
|
707
|
+
project_hashes: T.untyped,
|
708
|
+
project_timing: T.untyped,
|
709
|
+
timing: T.untyped
|
710
|
+
).void
|
711
|
+
end
|
712
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, workspaces: Checkoff::Workspaces.new(config:,
|
713
|
+
client:), project_hashes: Checkoff::Internal::ProjectHashes.new, project_timing: Checkoff::Internal::ProjectTiming.new(client:), timing: Checkoff::Timing.new); end
|
714
|
+
|
715
|
+
sig { params(extra_fields: T.untyped).returns(T.untyped) }
|
716
|
+
def task_fields(extra_fields: []); end
|
717
|
+
|
718
|
+
sig { params(extra_fields: T.untyped, only_uncompleted: T.untyped).returns(T.untyped) }
|
719
|
+
def task_options(extra_fields: [], only_uncompleted: false); end
|
720
|
+
|
721
|
+
sig { params(extra_project_fields: T.untyped).returns(T.untyped) }
|
722
|
+
def project_fields(extra_project_fields: []); end
|
723
|
+
|
724
|
+
sig { params(extra_project_fields: T.untyped).returns(T.untyped) }
|
725
|
+
def project_options(extra_project_fields: []); end
|
726
|
+
|
727
|
+
sig { params(workspace_name: T.untyped, project_name: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
728
|
+
def project(workspace_name, project_name, extra_fields: []); end
|
729
|
+
|
730
|
+
sig { params(workspace_name: T.untyped, project_name: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
731
|
+
def project_or_raise(workspace_name, project_name, extra_fields: []); end
|
732
|
+
|
733
|
+
sig { params(gid: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
734
|
+
def project_by_gid(gid, extra_fields: []); end
|
735
|
+
|
736
|
+
sig { params(tasks: T.untyped).returns(T.untyped) }
|
737
|
+
def active_tasks(tasks); end
|
738
|
+
|
739
|
+
sig { params(project: T.untyped, only_uncompleted: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
740
|
+
def tasks_from_project(project, only_uncompleted: true, extra_fields: []); end
|
741
|
+
|
742
|
+
sig { params(project_gid: T.untyped, only_uncompleted: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
743
|
+
def tasks_from_project_gid(project_gid, only_uncompleted: true, extra_fields: []); end
|
744
|
+
|
745
|
+
sig { params(workspace_name: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
746
|
+
def projects_by_workspace_name(workspace_name, extra_fields: []); end
|
747
|
+
|
748
|
+
sig { params(project_obj: T.untyped, project: T.untyped).returns(T.untyped) }
|
749
|
+
def project_to_h(project_obj, project: :not_specified); end
|
750
|
+
|
751
|
+
sig { params(project: T.untyped, period: T.untyped).returns(T.untyped) }
|
752
|
+
def project_ready?(project, period: :now_or_before); end
|
753
|
+
|
754
|
+
sig { params(project: T.untyped, field_name: T.untyped, period: T.untyped).returns(T.untyped) }
|
755
|
+
def in_period?(project, field_name, period); end
|
756
|
+
|
757
|
+
sig { returns(T.untyped) }
|
758
|
+
def as_cache_key; end
|
759
|
+
|
760
|
+
sig { returns(T.untyped) }
|
761
|
+
attr_reader :timing
|
762
|
+
|
763
|
+
sig { returns(T.untyped) }
|
764
|
+
attr_reader :project_timing
|
765
|
+
|
766
|
+
sig { returns(T.untyped) }
|
767
|
+
attr_reader :project_hashes
|
768
|
+
|
769
|
+
sig { returns(T.untyped) }
|
770
|
+
attr_reader :client
|
771
|
+
|
772
|
+
sig { returns(T.untyped) }
|
773
|
+
def projects; end
|
774
|
+
|
775
|
+
sig { params(workspace_name: T.untyped).returns(T.untyped) }
|
776
|
+
def my_tasks(workspace_name); end
|
777
|
+
end
|
778
|
+
|
779
|
+
class Resources
|
780
|
+
MINUTE = 60
|
781
|
+
HOUR = MINUTE * 60
|
782
|
+
DAY = 24 * HOUR
|
783
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
784
|
+
LONG_CACHE_TIME = MINUTE * 15
|
785
|
+
SHORT_CACHE_TIME = MINUTE
|
786
|
+
|
787
|
+
sig do
|
788
|
+
params(
|
789
|
+
config: T.untyped,
|
790
|
+
workspaces: T.untyped,
|
791
|
+
tasks: T.untyped,
|
792
|
+
sections: T.untyped,
|
793
|
+
projects: T.untyped,
|
794
|
+
clients: T.untyped,
|
795
|
+
client: T.untyped
|
796
|
+
).void
|
797
|
+
end
|
798
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), tasks: Checkoff::Tasks.new(config:), sections: Checkoff::Sections.new(config:), projects: Checkoff::Projects.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
799
|
+
|
800
|
+
sig { params(gid: T.untyped, resource_type: T.untyped).returns(T.untyped) }
|
801
|
+
def resource_by_gid(gid, resource_type: nil); end
|
802
|
+
|
803
|
+
sig { params(gid: T.untyped).returns(T.untyped) }
|
804
|
+
def fetch_task_gid(gid); end
|
805
|
+
|
806
|
+
sig { params(section_gid: T.untyped).returns(T.untyped) }
|
807
|
+
def fetch_section_gid(section_gid); end
|
808
|
+
|
809
|
+
sig { params(project_gid: T.untyped).returns(T.untyped) }
|
810
|
+
def fetch_project_gid(project_gid); end
|
811
|
+
|
812
|
+
sig { returns(T.untyped) }
|
813
|
+
attr_reader :workspaces
|
814
|
+
|
815
|
+
sig { returns(T.untyped) }
|
816
|
+
attr_reader :projects
|
817
|
+
|
818
|
+
sig { returns(T.untyped) }
|
819
|
+
attr_reader :sections
|
820
|
+
|
821
|
+
sig { returns(T.untyped) }
|
822
|
+
attr_reader :tasks
|
823
|
+
|
824
|
+
sig { returns(T.untyped) }
|
825
|
+
attr_reader :client
|
826
|
+
|
827
|
+
sig { returns(T.untyped) }
|
828
|
+
def self.run; end
|
829
|
+
end
|
830
|
+
|
831
|
+
class SectionSelectors
|
832
|
+
MINUTE = 60
|
833
|
+
HOUR = MINUTE * 60
|
834
|
+
DAY = 24 * HOUR
|
835
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
836
|
+
LONG_CACHE_TIME = MINUTE * 15
|
837
|
+
SHORT_CACHE_TIME = MINUTE
|
838
|
+
|
839
|
+
sig do
|
840
|
+
params(
|
841
|
+
config: T.untyped,
|
842
|
+
workspaces: T.untyped,
|
843
|
+
sections: T.untyped,
|
844
|
+
custom_fields: T.untyped,
|
845
|
+
clients: T.untyped,
|
846
|
+
client: T.untyped
|
847
|
+
).void
|
848
|
+
end
|
849
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), sections: Checkoff::Sections.new(config:), custom_fields: Checkoff::CustomFields.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
850
|
+
|
851
|
+
sig { params(section: T.untyped, section_selector: T.untyped).returns(T.untyped) }
|
852
|
+
def filter_via_section_selector(section, section_selector); end
|
853
|
+
|
854
|
+
sig { returns(T.untyped) }
|
855
|
+
attr_reader :workspaces
|
856
|
+
|
857
|
+
sig { returns(T.untyped) }
|
858
|
+
attr_reader :sections
|
859
|
+
|
860
|
+
sig { returns(T.untyped) }
|
861
|
+
attr_reader :custom_fields
|
862
|
+
|
863
|
+
sig { returns(T.untyped) }
|
864
|
+
attr_reader :client
|
865
|
+
|
866
|
+
sig { returns(T.untyped) }
|
867
|
+
def self.run; end
|
868
|
+
end
|
869
|
+
|
870
|
+
class Sections
|
871
|
+
include Logging
|
872
|
+
extend Forwardable
|
873
|
+
MINUTE = 60
|
874
|
+
HOUR = MINUTE * 60
|
875
|
+
REALLY_LONG_CACHE_TIME = MINUTE * 30
|
876
|
+
LONG_CACHE_TIME = MINUTE * 15
|
877
|
+
SHORT_CACHE_TIME = MINUTE * 5
|
878
|
+
|
879
|
+
sig { returns(T.untyped) }
|
880
|
+
attr_reader :projects
|
881
|
+
|
882
|
+
sig { returns(T.untyped) }
|
883
|
+
attr_reader :workspaces
|
884
|
+
|
885
|
+
sig { returns(T.untyped) }
|
886
|
+
attr_reader :time
|
887
|
+
|
888
|
+
sig { returns(T.untyped) }
|
889
|
+
attr_reader :my_tasks
|
890
|
+
|
891
|
+
sig do
|
892
|
+
params(
|
893
|
+
config: T.untyped,
|
894
|
+
client: T.untyped,
|
895
|
+
projects: T.untyped,
|
896
|
+
workspaces: T.untyped,
|
897
|
+
time: T.untyped
|
898
|
+
).void
|
899
|
+
end
|
900
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, projects: Checkoff::Projects.new(config:,
|
901
|
+
client:), workspaces: Checkoff::Workspaces.new(config:,
|
902
|
+
client:), time: Time); end
|
903
|
+
|
904
|
+
sig { params(workspace_name: T.untyped, project_name: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
905
|
+
def sections_or_raise(workspace_name, project_name, extra_fields: []); end
|
906
|
+
|
907
|
+
sig { params(project_gid: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
908
|
+
def sections_by_project_gid(project_gid, extra_fields: []); end
|
909
|
+
|
910
|
+
sig do
|
911
|
+
params(
|
912
|
+
workspace_name: T.untyped,
|
913
|
+
project_name: T.untyped,
|
914
|
+
only_uncompleted: T.untyped,
|
915
|
+
extra_fields: T.untyped
|
916
|
+
).returns(T.untyped)
|
917
|
+
end
|
918
|
+
def tasks_by_section(workspace_name, project_name, only_uncompleted: true, extra_fields: []); end
|
919
|
+
|
920
|
+
sig { params(section_gid: T.untyped, only_uncompleted: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
921
|
+
def tasks_by_section_gid(section_gid, only_uncompleted: true, extra_fields: []); end
|
922
|
+
|
923
|
+
sig do
|
924
|
+
params(
|
925
|
+
workspace_name: T.untyped,
|
926
|
+
project_name: T.untyped,
|
927
|
+
section_name: T.untyped,
|
928
|
+
only_uncompleted: T.untyped,
|
929
|
+
extra_fields: T.untyped
|
930
|
+
).returns(T.untyped)
|
931
|
+
end
|
932
|
+
def tasks(workspace_name, project_name, section_name, only_uncompleted: true, extra_fields: []); end
|
933
|
+
|
934
|
+
sig { params(workspace_name: T.untyped, project_name: T.untyped, section_name: T.untyped).returns(T.untyped) }
|
935
|
+
def section_task_names(workspace_name, project_name, section_name); end
|
936
|
+
|
937
|
+
sig do
|
938
|
+
params(
|
939
|
+
workspace_name: T.untyped,
|
940
|
+
project_name: T.untyped,
|
941
|
+
section_name: T.untyped,
|
942
|
+
extra_section_fields: T.untyped
|
943
|
+
).returns(T.untyped)
|
944
|
+
end
|
945
|
+
def section_or_raise(workspace_name, project_name, section_name, extra_section_fields: []); end
|
946
|
+
|
947
|
+
sig { params(name: T.untyped).returns(T.untyped) }
|
948
|
+
def section_key(name); end
|
949
|
+
|
950
|
+
sig { params(section: T.untyped).returns(T.untyped) }
|
951
|
+
def previous_section(section); end
|
952
|
+
|
953
|
+
sig { params(gid: T.untyped).returns(T.untyped) }
|
954
|
+
def section_by_gid(gid); end
|
955
|
+
|
956
|
+
sig { returns(T.untyped) }
|
957
|
+
def as_cache_key; end
|
958
|
+
|
959
|
+
sig do
|
960
|
+
params(
|
961
|
+
workspace_name: T.untyped,
|
962
|
+
project_name: T.untyped,
|
963
|
+
section_name: T.untyped,
|
964
|
+
extra_section_fields: T.untyped
|
965
|
+
).returns(T.untyped)
|
966
|
+
end
|
967
|
+
def section(workspace_name, project_name, section_name, extra_section_fields: []); end
|
968
|
+
|
969
|
+
sig { params(response: T.untyped).returns(T.untyped) }
|
970
|
+
def parse(response); end
|
971
|
+
|
972
|
+
sig { returns(T.untyped) }
|
973
|
+
attr_reader :client
|
974
|
+
|
975
|
+
sig { params(project: T.untyped, only_uncompleted: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
976
|
+
def tasks_by_section_for_project(project, only_uncompleted: true, extra_fields: []); end
|
977
|
+
|
978
|
+
sig { params(tasks: T.untyped, project_gid: T.untyped).returns(T.untyped) }
|
979
|
+
def by_section(tasks, project_gid); end
|
980
|
+
|
981
|
+
sig { params(by_section: T.untyped, task: T.untyped, project_gid: T.untyped).returns(T.untyped) }
|
982
|
+
def file_task_by_section(by_section, task, project_gid); end
|
983
|
+
|
984
|
+
sig { params(workspace_name: T.untyped, project_name: T.untyped).returns(T.untyped) }
|
985
|
+
def project_or_raise(workspace_name, project_name); end
|
986
|
+
end
|
987
|
+
|
988
|
+
class Subtasks
|
989
|
+
extend Forwardable
|
990
|
+
MINUTE = 60
|
991
|
+
LONG_CACHE_TIME = MINUTE * 15
|
992
|
+
SHORT_CACHE_TIME = MINUTE * 5
|
993
|
+
|
994
|
+
sig { params(config: T.untyped, projects: T.untyped, clients: T.untyped).void }
|
995
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), projects: Checkoff::Projects.new(config:), clients: Checkoff::Clients.new(config:)); end
|
996
|
+
|
997
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
998
|
+
def all_subtasks_completed?(task); end
|
999
|
+
|
1000
|
+
sig { params(tasks: T.untyped).returns(T.untyped) }
|
1001
|
+
def by_section(tasks); end
|
1002
|
+
|
1003
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
1004
|
+
def raw_subtasks(task); end
|
1005
|
+
|
1006
|
+
sig { params(task_gid: T.untyped, extra_fields: T.untyped, only_uncompleted: T.untyped).returns(T.untyped) }
|
1007
|
+
def subtasks_by_gid(task_gid, extra_fields: [], only_uncompleted: true); end
|
1008
|
+
|
1009
|
+
sig { params(subtask: T.untyped).returns(T.untyped) }
|
1010
|
+
def subtask_section?(subtask); end
|
1011
|
+
|
1012
|
+
sig { returns(T.untyped) }
|
1013
|
+
attr_reader :projects
|
1014
|
+
|
1015
|
+
sig { returns(T.untyped) }
|
1016
|
+
attr_reader :client
|
1017
|
+
|
1018
|
+
sig { params(current_section: T.untyped, by_section: T.untyped, task: T.untyped).returns(T.untyped) }
|
1019
|
+
def file_task_by_section(current_section, by_section, task); end
|
1020
|
+
end
|
1021
|
+
|
1022
|
+
class Tags
|
1023
|
+
MINUTE = 60
|
1024
|
+
HOUR = T.let(MINUTE * 60, Numeric)
|
1025
|
+
DAY = T.let(24 * HOUR, Numeric)
|
1026
|
+
REALLY_LONG_CACHE_TIME = T.let(HOUR * 1, Numeric)
|
1027
|
+
LONG_CACHE_TIME = T.let(MINUTE * 15, Numeric)
|
1028
|
+
SHORT_CACHE_TIME = T.let(MINUTE, Numeric)
|
1029
|
+
|
1030
|
+
sig do
|
1031
|
+
params(
|
1032
|
+
config: T.untyped,
|
1033
|
+
clients: T.untyped,
|
1034
|
+
client: T.untyped,
|
1035
|
+
projects: T.untyped,
|
1036
|
+
workspaces: T.untyped
|
1037
|
+
).void
|
1038
|
+
end
|
1039
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), clients: Checkoff::Clients.new(config:), client: clients.client, projects: Checkoff::Projects.new(config:, client:), workspaces: Checkoff::Workspaces.new(config:, client:)); end
|
1040
|
+
|
1041
|
+
sig do
|
1042
|
+
params(
|
1043
|
+
workspace_name: T.untyped,
|
1044
|
+
tag_name: T.untyped,
|
1045
|
+
only_uncompleted: T.untyped,
|
1046
|
+
extra_fields: T.untyped
|
1047
|
+
).returns(T.untyped)
|
1048
|
+
end
|
1049
|
+
def tasks(workspace_name, tag_name, only_uncompleted: true, extra_fields: []); end
|
1050
|
+
|
1051
|
+
sig do
|
1052
|
+
params(
|
1053
|
+
workspace_name: T.untyped,
|
1054
|
+
tag_gid: T.untyped,
|
1055
|
+
only_uncompleted: T.untyped,
|
1056
|
+
extra_fields: T.untyped
|
1057
|
+
).returns(T.untyped)
|
1058
|
+
end
|
1059
|
+
def tasks_by_tag_gid(workspace_name, tag_gid, only_uncompleted: true, extra_fields: []); end
|
1060
|
+
|
1061
|
+
sig { params(workspace_name: T.untyped, tag_name: T.untyped).returns(T.untyped) }
|
1062
|
+
def tag_or_raise(workspace_name, tag_name); end
|
1063
|
+
|
1064
|
+
sig { params(workspace_name: T.untyped, tag_name: T.untyped).returns(T.untyped) }
|
1065
|
+
def tag(workspace_name, tag_name); end
|
1066
|
+
|
1067
|
+
sig { returns(T.untyped) }
|
1068
|
+
attr_reader :workspaces
|
1069
|
+
|
1070
|
+
sig { returns(T.untyped) }
|
1071
|
+
attr_reader :projects
|
1072
|
+
|
1073
|
+
sig { returns(T.untyped) }
|
1074
|
+
attr_reader :client
|
1075
|
+
|
1076
|
+
sig { params(options: T.untyped).returns(T.untyped) }
|
1077
|
+
def build_params(options); end
|
1078
|
+
|
1079
|
+
sig { params(response: T.untyped).returns(T.untyped) }
|
1080
|
+
def parse(response); end
|
1081
|
+
|
1082
|
+
sig { returns(T.untyped) }
|
1083
|
+
def self.run; end
|
1084
|
+
end
|
1085
|
+
|
1086
|
+
class TaskSearches
|
1087
|
+
include Logging
|
1088
|
+
include Asana::Resources::ResponseHelper
|
1089
|
+
MINUTE = 60
|
1090
|
+
HOUR = MINUTE * 60
|
1091
|
+
DAY = 24 * HOUR
|
1092
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
1093
|
+
LONG_CACHE_TIME = MINUTE * 15
|
1094
|
+
SHORT_CACHE_TIME = MINUTE
|
1095
|
+
|
1096
|
+
sig do
|
1097
|
+
params(
|
1098
|
+
config: T.untyped,
|
1099
|
+
workspaces: T.untyped,
|
1100
|
+
task_selectors: T.untyped,
|
1101
|
+
projects: T.untyped,
|
1102
|
+
clients: T.untyped,
|
1103
|
+
client: T.untyped,
|
1104
|
+
search_url_parser: T.untyped,
|
1105
|
+
asana_resources_collection_class: T.untyped
|
1106
|
+
).void
|
1107
|
+
end
|
1108
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), task_selectors: Checkoff::TaskSelectors.new(config:), projects: Checkoff::Projects.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client, search_url_parser: Checkoff::Internal::SearchUrl::Parser.new, asana_resources_collection_class: Asana::Resources::Collection); end
|
1109
|
+
|
1110
|
+
sig { params(workspace_name: T.untyped, url: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
1111
|
+
def task_search(workspace_name, url, extra_fields: []); end
|
1112
|
+
|
1113
|
+
sig do
|
1114
|
+
params(
|
1115
|
+
api_params: T.untyped,
|
1116
|
+
workspace_gid: T.untyped,
|
1117
|
+
extra_fields: T.untyped,
|
1118
|
+
task_selector: T.untyped,
|
1119
|
+
fetch_all: T.untyped
|
1120
|
+
).returns(T.untyped)
|
1121
|
+
end
|
1122
|
+
def raw_task_search(api_params, workspace_gid:, extra_fields: [], task_selector: [], fetch_all: true); end
|
1123
|
+
|
1124
|
+
sig { returns(T.untyped) }
|
1125
|
+
def as_cache_key; end
|
1126
|
+
|
1127
|
+
sig { params(api_params: T.untyped, workspace_gid: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
1128
|
+
def api_task_search_request(api_params, workspace_gid:, extra_fields:); end
|
1129
|
+
|
1130
|
+
sig { params(api_params: T.untyped, workspace_gid: T.untyped, extra_fields: T.untyped).returns(T.untyped) }
|
1131
|
+
def iterated_raw_task_search(api_params, workspace_gid:, extra_fields:); end
|
1132
|
+
|
1133
|
+
sig { params(extra_fields: T.untyped).returns(T.untyped) }
|
1134
|
+
def calculate_api_options(extra_fields); end
|
1135
|
+
|
1136
|
+
sig { returns(T.untyped) }
|
1137
|
+
def self.run; end
|
1138
|
+
|
1139
|
+
sig { returns(T.untyped) }
|
1140
|
+
attr_reader :task_selectors
|
1141
|
+
|
1142
|
+
sig { returns(T.untyped) }
|
1143
|
+
attr_reader :projects
|
1144
|
+
|
1145
|
+
sig { returns(T.untyped) }
|
1146
|
+
attr_reader :workspaces
|
1147
|
+
|
1148
|
+
sig { returns(T.untyped) }
|
1149
|
+
attr_reader :client
|
1150
|
+
end
|
1151
|
+
|
1152
|
+
class TaskSelectors
|
1153
|
+
MINUTE = 60
|
1154
|
+
HOUR = MINUTE * 60
|
1155
|
+
DAY = 24 * HOUR
|
1156
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
1157
|
+
LONG_CACHE_TIME = MINUTE * 15
|
1158
|
+
SHORT_CACHE_TIME = MINUTE
|
1159
|
+
|
1160
|
+
sig do
|
1161
|
+
params(
|
1162
|
+
config: T.untyped,
|
1163
|
+
client: T.untyped,
|
1164
|
+
tasks: T.untyped,
|
1165
|
+
timelines: T.untyped,
|
1166
|
+
custom_fields: T.untyped
|
1167
|
+
).void
|
1168
|
+
end
|
1169
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, tasks: Checkoff::Tasks.new(config:,
|
1170
|
+
client:), timelines: Checkoff::Timelines.new(config:,
|
1171
|
+
client:), custom_fields: Checkoff::CustomFields.new(config:,
|
1172
|
+
client:)); end
|
1173
|
+
|
1174
|
+
sig { params(task: T.untyped, task_selector: T.untyped).returns(T.untyped) }
|
1175
|
+
def filter_via_task_selector(task, task_selector); end
|
1176
|
+
|
1177
|
+
sig { returns(T.untyped) }
|
1178
|
+
attr_reader :tasks
|
1179
|
+
|
1180
|
+
sig { returns(T.untyped) }
|
1181
|
+
attr_reader :timelines
|
1182
|
+
|
1183
|
+
sig { returns(T.untyped) }
|
1184
|
+
attr_reader :custom_fields
|
1185
|
+
|
1186
|
+
sig { returns(T.untyped) }
|
1187
|
+
def self.project_name; end
|
1188
|
+
|
1189
|
+
sig { returns(T.untyped) }
|
1190
|
+
def self.workspace_name; end
|
1191
|
+
|
1192
|
+
sig { returns(T.untyped) }
|
1193
|
+
def self.task_selector; end
|
1194
|
+
|
1195
|
+
sig { returns(T.untyped) }
|
1196
|
+
def self.run; end
|
1197
|
+
end
|
1198
|
+
|
1199
|
+
class Tasks
|
1200
|
+
include Logging
|
1201
|
+
extend T::Sig
|
1202
|
+
MINUTE = 60
|
1203
|
+
HOUR = MINUTE * 60
|
1204
|
+
DAY = 24 * HOUR
|
1205
|
+
REALLY_LONG_CACHE_TIME = MINUTE * 30
|
1206
|
+
LONG_CACHE_TIME = MINUTE * 15
|
1207
|
+
SHORT_CACHE_TIME = MINUTE * 5
|
1208
|
+
|
1209
|
+
sig do
|
1210
|
+
params(
|
1211
|
+
config: T.untyped,
|
1212
|
+
client: T.untyped,
|
1213
|
+
workspaces: T.untyped,
|
1214
|
+
sections: T.untyped,
|
1215
|
+
portfolios: T.untyped,
|
1216
|
+
custom_fields: T.untyped,
|
1217
|
+
time_class: T.untyped,
|
1218
|
+
date_class: T.untyped,
|
1219
|
+
asana_task: T.untyped
|
1220
|
+
).void
|
1221
|
+
end
|
1222
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, workspaces: Checkoff::Workspaces.new(config:,
|
1223
|
+
client:), sections: Checkoff::Sections.new(config:,
|
1224
|
+
client:), portfolios: Checkoff::Portfolios.new(config:,
|
1225
|
+
client:), custom_fields: Checkoff::CustomFields.new(config:,
|
1226
|
+
client:), time_class: Time, date_class: Date, asana_task: Asana::Resources::Task); end
|
1227
|
+
|
1228
|
+
sig { params(task: T.untyped, period: T.untyped, ignore_dependencies: T.untyped).returns(T.untyped) }
|
1229
|
+
def task_ready?(task, period: :now_or_before, ignore_dependencies: false); end
|
1230
|
+
|
1231
|
+
sig { params(task: T.untyped, field_name: T.untyped, period: T.untyped).returns(T.untyped) }
|
1232
|
+
def in_period?(task, field_name, period); end
|
1233
|
+
|
1234
|
+
sig { params(task: T.untyped, field_name: T.untyped).returns(T.untyped) }
|
1235
|
+
def date_or_time_field_by_name(task, field_name); end
|
1236
|
+
|
1237
|
+
sig do
|
1238
|
+
params(
|
1239
|
+
workspace_name: T.untyped,
|
1240
|
+
project_name: T.untyped,
|
1241
|
+
task_name: T.untyped,
|
1242
|
+
section_name: T.untyped,
|
1243
|
+
only_uncompleted: T.untyped,
|
1244
|
+
extra_fields: T.untyped
|
1245
|
+
).returns(T.untyped)
|
1246
|
+
end
|
1247
|
+
def task(workspace_name, project_name, task_name, section_name: :unspecified, only_uncompleted: true, extra_fields: []); end
|
1248
|
+
|
1249
|
+
sig do
|
1250
|
+
params(
|
1251
|
+
workspace_name: T.untyped,
|
1252
|
+
project_name: T.untyped,
|
1253
|
+
section_name: T.untyped,
|
1254
|
+
task_name: T.untyped
|
1255
|
+
).returns(T.untyped)
|
1256
|
+
end
|
1257
|
+
def gid_for_task(workspace_name, project_name, section_name, task_name); end
|
1258
|
+
|
1259
|
+
sig { params(task_gid: T.untyped, extra_fields: T.untyped, only_uncompleted: T.untyped).returns(T.untyped) }
|
1260
|
+
def task_by_gid(task_gid, extra_fields: [], only_uncompleted: true); end
|
1261
|
+
|
1262
|
+
sig { params(name: T.untyped, workspace_gid: T.untyped, assignee_gid: T.untyped).returns(T.untyped) }
|
1263
|
+
def add_task(name, workspace_gid: @workspaces.default_workspace_gid, assignee_gid: default_assignee_gid); end
|
1264
|
+
|
1265
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
1266
|
+
def url_of_task(task); end
|
1267
|
+
|
1268
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
1269
|
+
def incomplete_dependencies?(task); end
|
1270
|
+
|
1271
|
+
sig { params(task: T.untyped, extra_task_fields: T.untyped).returns(T.untyped) }
|
1272
|
+
def all_dependent_tasks(task, extra_task_fields: []); end
|
1273
|
+
|
1274
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
1275
|
+
def task_to_h(task); end
|
1276
|
+
|
1277
|
+
sig { params(task_data: T.untyped).returns(T.untyped) }
|
1278
|
+
def h_to_task(task_data); end
|
1279
|
+
|
1280
|
+
sig { params(task: T.untyped, portfolio_name: T.untyped, workspace_name: T.untyped).returns(T.untyped) }
|
1281
|
+
def in_portfolio_named?(task, portfolio_name, workspace_name: @workspaces.default_workspace.name); end
|
1282
|
+
|
1283
|
+
sig { params(task: T.untyped, portfolio_name: T.untyped, workspace_name: T.untyped).returns(T.untyped) }
|
1284
|
+
def in_portfolio_more_than_once?(task, portfolio_name, workspace_name: @workspaces.default_workspace.name); end
|
1285
|
+
|
1286
|
+
sig { returns(T.untyped) }
|
1287
|
+
def as_cache_key; end
|
1288
|
+
|
1289
|
+
sig { returns(T.untyped) }
|
1290
|
+
def task_timing; end
|
1291
|
+
|
1292
|
+
sig { returns(T.untyped) }
|
1293
|
+
def task_hashes; end
|
1294
|
+
|
1295
|
+
sig do
|
1296
|
+
params(
|
1297
|
+
workspace_name: T.untyped,
|
1298
|
+
project_name: T.untyped,
|
1299
|
+
only_uncompleted: T.untyped,
|
1300
|
+
extra_fields: T.untyped,
|
1301
|
+
section_name: T.untyped
|
1302
|
+
).returns(T.untyped)
|
1303
|
+
end
|
1304
|
+
def tasks(workspace_name, project_name, only_uncompleted:, extra_fields: [], section_name: :unspecified); end
|
1305
|
+
|
1306
|
+
sig { returns(T.untyped) }
|
1307
|
+
attr_reader :client
|
1308
|
+
|
1309
|
+
sig { returns(T.untyped) }
|
1310
|
+
attr_reader :timing
|
1311
|
+
|
1312
|
+
sig { returns(T.untyped) }
|
1313
|
+
attr_reader :custom_fields
|
1314
|
+
|
1315
|
+
sig { returns(T.untyped) }
|
1316
|
+
def projects; end
|
1317
|
+
|
1318
|
+
sig { returns(T.untyped) }
|
1319
|
+
def default_assignee_gid; end
|
1320
|
+
end
|
1321
|
+
|
1322
|
+
class Timelines
|
1323
|
+
MINUTE = 60
|
1324
|
+
HOUR = MINUTE * 60
|
1325
|
+
DAY = 24 * HOUR
|
1326
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
1327
|
+
LONG_CACHE_TIME = MINUTE * 15
|
1328
|
+
SHORT_CACHE_TIME = MINUTE
|
1329
|
+
|
1330
|
+
sig do
|
1331
|
+
params(
|
1332
|
+
config: T.untyped,
|
1333
|
+
workspaces: T.untyped,
|
1334
|
+
sections: T.untyped,
|
1335
|
+
tasks: T.untyped,
|
1336
|
+
portfolios: T.untyped,
|
1337
|
+
clients: T.untyped,
|
1338
|
+
client: T.untyped
|
1339
|
+
).void
|
1340
|
+
end
|
1341
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), sections: Checkoff::Sections.new(config:), tasks: Checkoff::Tasks.new(config:), portfolios: Checkoff::Portfolios.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
1342
|
+
|
1343
|
+
sig { params(task: T.untyped, limit_to_portfolio_gid: T.untyped).returns(T.untyped) }
|
1344
|
+
def task_dependent_on_previous_section_last_milestone?(task, limit_to_portfolio_gid: nil); end
|
1345
|
+
|
1346
|
+
sig { params(task: T.untyped, limit_to_portfolio_name: T.untyped).returns(T.untyped) }
|
1347
|
+
def last_task_milestone_depends_on_this_task?(task, limit_to_portfolio_name: nil); end
|
1348
|
+
|
1349
|
+
sig { params(task: T.untyped, limit_to_portfolio_name: T.untyped).returns(T.untyped) }
|
1350
|
+
def any_milestone_depends_on_this_task?(task, limit_to_portfolio_name: nil); end
|
1351
|
+
|
1352
|
+
sig { params(section_gid: T.untyped).returns(T.untyped) }
|
1353
|
+
def last_milestone_in_section(section_gid); end
|
1354
|
+
|
1355
|
+
sig { params(task_data: T.untyped, section: T.untyped).returns(T.untyped) }
|
1356
|
+
def task_data_dependent_on_previous_section_last_milestone?(task_data, section); end
|
1357
|
+
|
1358
|
+
sig { returns(T.untyped) }
|
1359
|
+
attr_reader :workspaces
|
1360
|
+
|
1361
|
+
sig { returns(T.untyped) }
|
1362
|
+
attr_reader :client
|
1363
|
+
|
1364
|
+
sig { returns(T.untyped) }
|
1365
|
+
def self.run; end
|
1366
|
+
end
|
1367
|
+
|
1368
|
+
class Timing
|
1369
|
+
include Logging
|
1370
|
+
MINUTE = 60
|
1371
|
+
HOUR = MINUTE * 60
|
1372
|
+
DAY = 24 * HOUR
|
1373
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
1374
|
+
LONG_CACHE_TIME = MINUTE * 15
|
1375
|
+
SHORT_CACHE_TIME = MINUTE
|
1376
|
+
WDAY_FROM_DAY_OF_WEEK = {
|
1377
|
+
monday: 1,
|
1378
|
+
tuesday: 2,
|
1379
|
+
wednesday: 3,
|
1380
|
+
thursday: 4,
|
1381
|
+
friday: 5,
|
1382
|
+
saturday: 6,
|
1383
|
+
sunday: 0,
|
1384
|
+
}.freeze
|
1385
|
+
|
1386
|
+
sig { params(today_getter: T.untyped, now_getter: T.untyped).void }
|
1387
|
+
def initialize(today_getter: Date, now_getter: Time); end
|
1388
|
+
|
1389
|
+
sig { params(date_or_time: T.untyped, period: T.untyped).returns(T.untyped) }
|
1390
|
+
def in_period?(date_or_time, period); end
|
1391
|
+
|
1392
|
+
sig { params(date_or_time: T.untyped, num_days: T.untyped).returns(T.untyped) }
|
1393
|
+
def greater_than_or_equal_to_n_days_from_today?(date_or_time, num_days); end
|
1394
|
+
|
1395
|
+
sig { params(date_or_time: T.untyped, num_days: T.untyped).returns(T.untyped) }
|
1396
|
+
def greater_than_or_equal_to_n_days_from_now?(date_or_time, num_days); end
|
1397
|
+
|
1398
|
+
sig { params(date_or_time: T.untyped, num_days: T.untyped).returns(T.untyped) }
|
1399
|
+
def less_than_n_days_ago?(date_or_time, num_days); end
|
1400
|
+
|
1401
|
+
sig { params(date_or_time: T.untyped, num_days: T.untyped).returns(T.untyped) }
|
1402
|
+
def less_than_n_days_from_now?(date_or_time, num_days); end
|
1403
|
+
|
1404
|
+
sig { params(date_or_time: T.untyped).returns(T.untyped) }
|
1405
|
+
def this_week?(date_or_time); end
|
1406
|
+
|
1407
|
+
sig { params(date_or_time: T.untyped).returns(T.untyped) }
|
1408
|
+
def next_week?(date_or_time); end
|
1409
|
+
|
1410
|
+
sig { params(date_or_time: T.untyped, day_of_week: T.untyped).returns(T.untyped) }
|
1411
|
+
def day_of_week?(date_or_time, day_of_week); end
|
1412
|
+
|
1413
|
+
sig { params(date_or_time: T.untyped).returns(T.untyped) }
|
1414
|
+
def now_or_before?(date_or_time); end
|
1415
|
+
|
1416
|
+
sig { params(num_days: T.untyped).returns(T.untyped) }
|
1417
|
+
def n_days_from_now(num_days); end
|
1418
|
+
|
1419
|
+
sig { params(num_days: T.untyped).returns(T.untyped) }
|
1420
|
+
def n_days_from_today(num_days); end
|
1421
|
+
|
1422
|
+
sig { params(date_or_time: T.untyped, beginning_num_days_from_now: T.untyped, end_num_days_from_now: T.untyped).returns(T.untyped) }
|
1423
|
+
def between_relative_days?(date_or_time, beginning_num_days_from_now, end_num_days_from_now); end
|
1424
|
+
|
1425
|
+
sig { params(date_or_time: T.untyped, period_name: T.untyped, args: T.untyped).returns(T.untyped) }
|
1426
|
+
def compound_in_period?(date_or_time, period_name, *args); end
|
1427
|
+
|
1428
|
+
sig { returns(T.untyped) }
|
1429
|
+
def self.run; end
|
1430
|
+
end
|
1431
|
+
|
1432
|
+
class Workspaces
|
1433
|
+
MINUTE = 60
|
1434
|
+
HOUR = MINUTE * 60
|
1435
|
+
DAY = 24 * HOUR
|
1436
|
+
REALLY_LONG_CACHE_TIME = HOUR * 1
|
1437
|
+
LONG_CACHE_TIME = MINUTE * 15
|
1438
|
+
SHORT_CACHE_TIME = MINUTE
|
1439
|
+
|
1440
|
+
sig { params(config: T.untyped, client: T.untyped, asana_workspace: T.untyped).void }
|
1441
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, asana_workspace: Asana::Resources::Workspace); end
|
1442
|
+
|
1443
|
+
sig { params(workspace_name: T.untyped).returns(T.untyped) }
|
1444
|
+
def workspace(workspace_name); end
|
1445
|
+
|
1446
|
+
sig { returns(T.untyped) }
|
1447
|
+
def default_workspace; end
|
1448
|
+
|
1449
|
+
sig { params(workspace_name: T.untyped).returns(T.untyped) }
|
1450
|
+
def workspace_or_raise(workspace_name); end
|
1451
|
+
|
1452
|
+
sig { returns(T.untyped) }
|
1453
|
+
def default_workspace_gid; end
|
1454
|
+
|
1455
|
+
sig { returns(T.untyped) }
|
1456
|
+
attr_reader :client
|
1457
|
+
end
|
1458
|
+
|
1459
|
+
module Internal
|
1460
|
+
class AsanaEventEnrichment
|
1461
|
+
include Logging
|
1462
|
+
|
1463
|
+
sig do
|
1464
|
+
params(
|
1465
|
+
config: T.untyped,
|
1466
|
+
workspaces: T.untyped,
|
1467
|
+
tasks: T.untyped,
|
1468
|
+
sections: T.untyped,
|
1469
|
+
projects: T.untyped,
|
1470
|
+
resources: T.untyped,
|
1471
|
+
clients: T.untyped,
|
1472
|
+
client: T.untyped
|
1473
|
+
).void
|
1474
|
+
end
|
1475
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), tasks: Checkoff::Tasks.new(config:), sections: Checkoff::Sections.new(config:), projects: Checkoff::Projects.new(config:), resources: Checkoff::Resources.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
1476
|
+
|
1477
|
+
sig { params(asana_event: T.untyped).returns(T.untyped) }
|
1478
|
+
def enrich_event(asana_event); end
|
1479
|
+
|
1480
|
+
sig { params(filter: T.untyped).returns(T.untyped) }
|
1481
|
+
def enrich_filter(filter); end
|
1482
|
+
|
1483
|
+
sig { params(webhook_subscription: T.untyped).returns(T.untyped) }
|
1484
|
+
def enrich_webhook_subscription!(webhook_subscription); end
|
1485
|
+
|
1486
|
+
sig { params(gid: T.untyped, resource_type: T.untyped).returns(T.untyped) }
|
1487
|
+
def enrich_gid(gid, resource_type: nil); end
|
1488
|
+
|
1489
|
+
sig { params(filter: T.untyped).returns(T.untyped) }
|
1490
|
+
def enrich_filter_parent_gid!(filter); end
|
1491
|
+
|
1492
|
+
sig { params(filter: T.untyped).returns(T.untyped) }
|
1493
|
+
def enrich_filter_resource!(filter); end
|
1494
|
+
|
1495
|
+
sig { params(filter: T.untyped).returns(T.untyped) }
|
1496
|
+
def enrich_filter_section!(filter); end
|
1497
|
+
|
1498
|
+
sig { params(asana_event: T.untyped).returns(T.untyped) }
|
1499
|
+
def enrich_event_parent!(asana_event); end
|
1500
|
+
|
1501
|
+
sig { params(asana_event: T.untyped).returns(T.untyped) }
|
1502
|
+
def enrich_event_resource!(asana_event); end
|
1503
|
+
|
1504
|
+
sig { returns(T.untyped) }
|
1505
|
+
attr_reader :projects
|
1506
|
+
|
1507
|
+
sig { returns(T.untyped) }
|
1508
|
+
attr_reader :sections
|
1509
|
+
|
1510
|
+
sig { returns(T.untyped) }
|
1511
|
+
attr_reader :tasks
|
1512
|
+
|
1513
|
+
sig { returns(T.untyped) }
|
1514
|
+
attr_reader :workspaces
|
1515
|
+
|
1516
|
+
sig { returns(T.untyped) }
|
1517
|
+
attr_reader :resources
|
1518
|
+
|
1519
|
+
sig { returns(T.untyped) }
|
1520
|
+
attr_reader :client
|
1521
|
+
end
|
1522
|
+
|
1523
|
+
class AsanaEventFilter
|
1524
|
+
include Logging
|
1525
|
+
|
1526
|
+
sig do
|
1527
|
+
params(
|
1528
|
+
filters: T.untyped,
|
1529
|
+
clients: T.untyped,
|
1530
|
+
tasks: T.untyped,
|
1531
|
+
client: T.untyped
|
1532
|
+
).void
|
1533
|
+
end
|
1534
|
+
def initialize(filters:, clients: Checkoff::Clients.new, tasks: Checkoff::Tasks.new, client: clients.client); end
|
1535
|
+
|
1536
|
+
sig { params(asana_event: T.untyped).returns(T.untyped) }
|
1537
|
+
def matches?(asana_event); end
|
1538
|
+
|
1539
|
+
sig { params(filter: T.untyped, asana_event: T.untyped, failures: T.untyped).returns(T.untyped) }
|
1540
|
+
def filter_matches_asana_event?(filter, asana_event, failures); end
|
1541
|
+
|
1542
|
+
sig { params(key: T.untyped, value: T.untyped, asana_event: T.untyped).returns(T.untyped) }
|
1543
|
+
def asana_event_matches_filter_item?(key, value, asana_event); end
|
1544
|
+
|
1545
|
+
sig { params(key: T.untyped, asana_event: T.untyped, fields: T.untyped).returns(T.untyped) }
|
1546
|
+
def uncached_fetch_task(key, asana_event, fields); end
|
1547
|
+
end
|
1548
|
+
|
1549
|
+
class EnvFallbackConfigLoader
|
1550
|
+
sig { params(config: T.untyped, sym: T.untyped, yaml_filename: T.untyped).void }
|
1551
|
+
def initialize(config, sym, yaml_filename); end
|
1552
|
+
|
1553
|
+
sig { params(key: T.untyped).returns(T.untyped) }
|
1554
|
+
def [](key); end
|
1555
|
+
|
1556
|
+
sig { params(key: T.untyped).returns(T.untyped) }
|
1557
|
+
def fetch(key); end
|
1558
|
+
|
1559
|
+
sig { params(key: T.untyped).returns(T.untyped) }
|
1560
|
+
def envvar_name(key); end
|
1561
|
+
end
|
1562
|
+
|
1563
|
+
class ConfigLoader
|
1564
|
+
sig { params(sym: T.untyped).returns(T.untyped) }
|
1565
|
+
def self.load(sym); end
|
1566
|
+
|
1567
|
+
sig { params(sym: T.untyped).returns(T.untyped) }
|
1568
|
+
def self.load_yaml_file(sym); end
|
1569
|
+
|
1570
|
+
sig { params(sym: T.untyped).returns(T.untyped) }
|
1571
|
+
def self.yaml_filename(sym); end
|
1572
|
+
end
|
1573
|
+
|
1574
|
+
class ProjectHashes
|
1575
|
+
sig { params(_deps: T.untyped).void }
|
1576
|
+
def initialize(_deps = {}); end
|
1577
|
+
|
1578
|
+
sig { params(project_obj: T.untyped, project: T.untyped).returns(T.untyped) }
|
1579
|
+
def project_to_h(project_obj, project: :not_specified); end
|
1580
|
+
|
1581
|
+
sig { params(project_hash: T.untyped).returns(T.untyped) }
|
1582
|
+
def unwrap_custom_fields(project_hash); end
|
1583
|
+
end
|
1584
|
+
|
1585
|
+
class ProjectTiming
|
1586
|
+
sig do
|
1587
|
+
params(
|
1588
|
+
time_class: T.untyped,
|
1589
|
+
date_class: T.untyped,
|
1590
|
+
client: T.untyped,
|
1591
|
+
custom_fields: T.untyped
|
1592
|
+
).void
|
1593
|
+
end
|
1594
|
+
def initialize(time_class: Time, date_class: Date, client: Checkoff::Clients.new.client, custom_fields: Checkoff::CustomFields.new(client:)); end
|
1595
|
+
|
1596
|
+
sig { params(project: T.untyped).returns(T.untyped) }
|
1597
|
+
def start_date(project); end
|
1598
|
+
|
1599
|
+
sig { params(project: T.untyped).returns(T.untyped) }
|
1600
|
+
def due_date(project); end
|
1601
|
+
|
1602
|
+
sig { params(project: T.untyped, custom_field_name: T.untyped).returns(T.untyped) }
|
1603
|
+
def custom_field(project, custom_field_name); end
|
1604
|
+
|
1605
|
+
sig { params(project: T.untyped, field_name: T.untyped).returns(T.untyped) }
|
1606
|
+
def date_or_time_field_by_name(project, field_name); end
|
1607
|
+
end
|
1608
|
+
|
1609
|
+
class TaskHashes
|
1610
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
1611
|
+
def task_to_h(task); end
|
1612
|
+
|
1613
|
+
sig { params(task_data: T.untyped, client: T.untyped).returns(T.untyped) }
|
1614
|
+
def h_to_task(task_data, client:); end
|
1615
|
+
|
1616
|
+
sig { params(task_hash: T.untyped).returns(T.untyped) }
|
1617
|
+
def unwrap_custom_fields(task_hash); end
|
1618
|
+
|
1619
|
+
sig { params(task_hash: T.untyped, memberships: T.untyped).returns(T.untyped) }
|
1620
|
+
def add_user_task_list(task_hash, memberships); end
|
1621
|
+
|
1622
|
+
sig do
|
1623
|
+
params(
|
1624
|
+
task_hash: T.untyped,
|
1625
|
+
memberships: T.untyped,
|
1626
|
+
resource: T.untyped,
|
1627
|
+
key: T.untyped
|
1628
|
+
).returns(T.untyped)
|
1629
|
+
end
|
1630
|
+
def unwrap_memberships(task_hash, memberships, resource, key); end
|
1631
|
+
|
1632
|
+
sig { params(task_hash: T.untyped).returns(T.untyped) }
|
1633
|
+
def unwrap_all_memberships(task_hash); end
|
1634
|
+
end
|
1635
|
+
|
1636
|
+
class TaskTiming
|
1637
|
+
sig do
|
1638
|
+
params(
|
1639
|
+
time_class: T.untyped,
|
1640
|
+
date_class: T.untyped,
|
1641
|
+
client: T.untyped,
|
1642
|
+
custom_fields: T.untyped
|
1643
|
+
).void
|
1644
|
+
end
|
1645
|
+
def initialize(time_class: Time, date_class: Date, client: Checkoff::Clients.new.client, custom_fields: Checkoff::CustomFields.new(client:)); end
|
1646
|
+
|
1647
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
1648
|
+
def start_time(task); end
|
1649
|
+
|
1650
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
1651
|
+
def due_time(task); end
|
1652
|
+
|
1653
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
1654
|
+
def start_date_or_time(task); end
|
1655
|
+
|
1656
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
1657
|
+
def due_date_or_time(task); end
|
1658
|
+
|
1659
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
1660
|
+
def modified_time(task); end
|
1661
|
+
|
1662
|
+
sig { params(task: T.untyped, custom_field_name: T.untyped).returns(T.untyped) }
|
1663
|
+
def custom_field(task, custom_field_name); end
|
1664
|
+
|
1665
|
+
sig { params(task: T.untyped, field_name: T.untyped).returns(T.untyped) }
|
1666
|
+
def date_or_time_field_by_name(task, field_name); end
|
1667
|
+
end
|
1668
|
+
|
1669
|
+
class ThreadLocal
|
1670
|
+
sig { params(name: T.untyped, value: T.untyped, block: T.untyped).returns(T.untyped) }
|
1671
|
+
def with_thread_local_variable(name, value, &block); end
|
1672
|
+
end
|
1673
|
+
|
1674
|
+
module SearchUrl
|
1675
|
+
class CustomFieldParamConverter
|
1676
|
+
VARIANTS = {
|
1677
|
+
'is' => CustomFieldVariant::Is,
|
1678
|
+
'no_value' => CustomFieldVariant::NoValue,
|
1679
|
+
'any_value' => CustomFieldVariant::AnyValue,
|
1680
|
+
'is_not' => CustomFieldVariant::IsNot,
|
1681
|
+
'less_than' => CustomFieldVariant::LessThan,
|
1682
|
+
'greater_than' => CustomFieldVariant::GreaterThan,
|
1683
|
+
'equals' => CustomFieldVariant::Equals,
|
1684
|
+
'doesnt_contain_any' => CustomFieldVariant::DoesntContainAny,
|
1685
|
+
'contains_any' => CustomFieldVariant::ContainsAny,
|
1686
|
+
'contains_all' => CustomFieldVariant::ContainsAll,
|
1687
|
+
}.freeze
|
1688
|
+
|
1689
|
+
sig { params(custom_field_params: T.untyped).void }
|
1690
|
+
def initialize(custom_field_params:); end
|
1691
|
+
|
1692
|
+
sig { returns(T.untyped) }
|
1693
|
+
def convert; end
|
1694
|
+
|
1695
|
+
sig { returns(T.untyped) }
|
1696
|
+
def by_custom_field; end
|
1697
|
+
|
1698
|
+
sig { params(gid: T.untyped, single_custom_field_params: T.untyped).returns(T.untyped) }
|
1699
|
+
def convert_single_custom_field_params(gid, single_custom_field_params); end
|
1700
|
+
|
1701
|
+
sig { params(key: T.untyped).returns(T.untyped) }
|
1702
|
+
def gid_from_custom_field_key(key); end
|
1703
|
+
|
1704
|
+
sig { returns(T.untyped) }
|
1705
|
+
attr_reader :custom_field_params
|
1706
|
+
end
|
1707
|
+
|
1708
|
+
module CustomFieldVariant
|
1709
|
+
class CustomFieldVariant
|
1710
|
+
sig { params(gid: T.untyped, remaining_params: T.untyped).void }
|
1711
|
+
def initialize(gid, remaining_params); end
|
1712
|
+
|
1713
|
+
sig { returns(T.untyped) }
|
1714
|
+
attr_reader :gid
|
1715
|
+
|
1716
|
+
sig { returns(T.untyped) }
|
1717
|
+
attr_reader :remaining_params
|
1718
|
+
|
1719
|
+
sig { returns(T.untyped) }
|
1720
|
+
def ensure_no_remaining_params!; end
|
1721
|
+
|
1722
|
+
sig { params(param_name: T.untyped).returns(T.untyped) }
|
1723
|
+
def fetch_solo_param(param_name); end
|
1724
|
+
end
|
1725
|
+
|
1726
|
+
class LessThan < CustomFieldVariant
|
1727
|
+
sig { returns(T.untyped) }
|
1728
|
+
def convert; end
|
1729
|
+
end
|
1730
|
+
|
1731
|
+
class GreaterThan < CustomFieldVariant
|
1732
|
+
sig { returns(T.untyped) }
|
1733
|
+
def convert; end
|
1734
|
+
end
|
1735
|
+
|
1736
|
+
class Equals < CustomFieldVariant
|
1737
|
+
sig { returns(T.untyped) }
|
1738
|
+
def convert; end
|
1739
|
+
end
|
1740
|
+
|
1741
|
+
class IsNot < CustomFieldVariant
|
1742
|
+
sig { returns(T.untyped) }
|
1743
|
+
def convert; end
|
1744
|
+
end
|
1745
|
+
|
1746
|
+
class DoesntContainAny < CustomFieldVariant
|
1747
|
+
sig { returns(T.untyped) }
|
1748
|
+
def convert; end
|
1749
|
+
end
|
1750
|
+
|
1751
|
+
class ContainsAny < CustomFieldVariant
|
1752
|
+
sig { returns(T.untyped) }
|
1753
|
+
def convert; end
|
1754
|
+
end
|
1755
|
+
|
1756
|
+
class ContainsAll < CustomFieldVariant
|
1757
|
+
sig { returns(T.untyped) }
|
1758
|
+
def convert; end
|
1759
|
+
end
|
1760
|
+
|
1761
|
+
class NoValue < CustomFieldVariant
|
1762
|
+
sig { returns(T.untyped) }
|
1763
|
+
def convert; end
|
1764
|
+
end
|
1765
|
+
|
1766
|
+
class AnyValue < CustomFieldVariant
|
1767
|
+
sig { returns(T.untyped) }
|
1768
|
+
def convert; end
|
1769
|
+
end
|
1770
|
+
|
1771
|
+
class Is < CustomFieldVariant
|
1772
|
+
sig { returns(T.untyped) }
|
1773
|
+
def convert; end
|
1774
|
+
end
|
1775
|
+
end
|
1776
|
+
|
1777
|
+
class DateParamConverter
|
1778
|
+
API_PREFIX = {
|
1779
|
+
'due_date' => 'due_on',
|
1780
|
+
'start_date' => 'start_on',
|
1781
|
+
'completion_date' => 'completed_on',
|
1782
|
+
}.freeze
|
1783
|
+
|
1784
|
+
sig { params(date_url_params: T.untyped).void }
|
1785
|
+
def initialize(date_url_params:); end
|
1786
|
+
|
1787
|
+
sig { returns(T.untyped) }
|
1788
|
+
def convert; end
|
1789
|
+
|
1790
|
+
sig { params(prefix: T.untyped).returns(T.untyped) }
|
1791
|
+
def convert_for_prefix(prefix); end
|
1792
|
+
|
1793
|
+
sig { params(prefix: T.untyped).returns(T.untyped) }
|
1794
|
+
def handle_through_next(prefix); end
|
1795
|
+
|
1796
|
+
sig { params(prefix: T.untyped).returns(T.untyped) }
|
1797
|
+
def handle_between(prefix); end
|
1798
|
+
|
1799
|
+
sig { params(prefix: T.untyped).returns(T.untyped) }
|
1800
|
+
def handle_within_last(prefix); end
|
1801
|
+
|
1802
|
+
sig { params(prefix: T.untyped).returns(T.untyped) }
|
1803
|
+
def handle_within_next(prefix); end
|
1804
|
+
|
1805
|
+
sig { params(param_key: T.untyped).returns(T.untyped) }
|
1806
|
+
def get_single_param(param_key); end
|
1807
|
+
|
1808
|
+
sig { params(prefix: T.untyped).returns(T.untyped) }
|
1809
|
+
def validate_unit_not_provided!(prefix); end
|
1810
|
+
|
1811
|
+
sig { params(prefix: T.untyped).returns(T.untyped) }
|
1812
|
+
def validate_unit_is_day!(prefix); end
|
1813
|
+
|
1814
|
+
sig { returns(T.untyped) }
|
1815
|
+
attr_reader :date_url_params
|
1816
|
+
end
|
1817
|
+
|
1818
|
+
class Parser
|
1819
|
+
sig { params(_deps: T.untyped).void }
|
1820
|
+
def initialize(_deps = {}); end
|
1821
|
+
|
1822
|
+
sig { params(url: T.untyped).returns(T.untyped) }
|
1823
|
+
def convert_params(url); end
|
1824
|
+
|
1825
|
+
sig { params(date_url_params: T.untyped).returns(T.untyped) }
|
1826
|
+
def convert_date_params(date_url_params); end
|
1827
|
+
|
1828
|
+
sig { params(simple_url_params: T.untyped).returns(T.untyped) }
|
1829
|
+
def convert_simple_params(simple_url_params); end
|
1830
|
+
|
1831
|
+
sig { params(custom_field_params: T.untyped).returns(T.untyped) }
|
1832
|
+
def convert_custom_field_params(custom_field_params); end
|
1833
|
+
|
1834
|
+
sig { params(url_params: T.untyped).returns(T.untyped) }
|
1835
|
+
def partition_url_params(url_params); end
|
1836
|
+
end
|
1837
|
+
|
1838
|
+
class ResultsMerger
|
1839
|
+
sig { params(args: T.untyped).returns(T.untyped) }
|
1840
|
+
def self.merge_args(*args); end
|
1841
|
+
|
1842
|
+
sig { params(task_selectors: T.untyped).returns(T.untyped) }
|
1843
|
+
def self.merge_task_selectors(*task_selectors); end
|
1844
|
+
end
|
1845
|
+
|
1846
|
+
module SimpleParam
|
1847
|
+
class SimpleParam
|
1848
|
+
sig { params(key: T.untyped, values: T.untyped).void }
|
1849
|
+
def initialize(key:, values:); end
|
1850
|
+
|
1851
|
+
sig { returns(T.untyped) }
|
1852
|
+
def single_value; end
|
1853
|
+
|
1854
|
+
sig { returns(T.untyped) }
|
1855
|
+
attr_reader :key
|
1856
|
+
|
1857
|
+
sig { returns(T.untyped) }
|
1858
|
+
attr_reader :values
|
1859
|
+
|
1860
|
+
sig { params(projects: T.untyped, sections: T.untyped).returns(T.untyped) }
|
1861
|
+
def parse_projects_and_sections(projects, sections); end
|
1862
|
+
|
1863
|
+
sig { params(verb: T.untyped).returns(T.untyped) }
|
1864
|
+
def convert_from_projects_and_sections(verb); end
|
1865
|
+
end
|
1866
|
+
|
1867
|
+
class PortfoliosIds < SimpleParam
|
1868
|
+
sig { returns(T.untyped) }
|
1869
|
+
def convert; end
|
1870
|
+
end
|
1871
|
+
|
1872
|
+
class AnyProjectsIds < SimpleParam
|
1873
|
+
sig { returns(T.untyped) }
|
1874
|
+
def convert; end
|
1875
|
+
end
|
1876
|
+
|
1877
|
+
class NotProjectsIds < SimpleParam
|
1878
|
+
sig { returns(T.untyped) }
|
1879
|
+
def convert; end
|
1880
|
+
end
|
1881
|
+
|
1882
|
+
class Completion < SimpleParam
|
1883
|
+
sig { returns(T.untyped) }
|
1884
|
+
def convert; end
|
1885
|
+
end
|
1886
|
+
|
1887
|
+
class NotTagsIds < SimpleParam
|
1888
|
+
sig { returns(T.untyped) }
|
1889
|
+
def convert; end
|
1890
|
+
end
|
1891
|
+
|
1892
|
+
class Subtask < SimpleParam
|
1893
|
+
sig { returns(T.untyped) }
|
1894
|
+
def convert; end
|
1895
|
+
end
|
1896
|
+
|
1897
|
+
class AnyTagsIds < SimpleParam
|
1898
|
+
sig { returns(T.untyped) }
|
1899
|
+
def convert; end
|
1900
|
+
end
|
1901
|
+
|
1902
|
+
class Sort < SimpleParam
|
1903
|
+
sig { returns(T.untyped) }
|
1904
|
+
def convert; end
|
1905
|
+
end
|
1906
|
+
|
1907
|
+
class Milestone < SimpleParam
|
1908
|
+
sig { returns(T.untyped) }
|
1909
|
+
def convert; end
|
1910
|
+
end
|
1911
|
+
|
1912
|
+
class SearchedType < SimpleParam
|
1913
|
+
sig { returns(T.untyped) }
|
1914
|
+
def convert; end
|
1915
|
+
end
|
1916
|
+
end
|
1917
|
+
|
1918
|
+
class SimpleParamConverter
|
1919
|
+
ARGS = {
|
1920
|
+
'portfolios.ids' => SimpleParam::PortfoliosIds,
|
1921
|
+
'any_projects.ids' => SimpleParam::AnyProjectsIds,
|
1922
|
+
'not_projects.ids' => SimpleParam::NotProjectsIds,
|
1923
|
+
'completion' => SimpleParam::Completion,
|
1924
|
+
'not_tags.ids' => SimpleParam::NotTagsIds,
|
1925
|
+
'any_tags.ids' => SimpleParam::AnyTagsIds,
|
1926
|
+
'subtask' => SimpleParam::Subtask,
|
1927
|
+
'sort' => SimpleParam::Sort,
|
1928
|
+
'milestone' => SimpleParam::Milestone,
|
1929
|
+
'searched_type' => SimpleParam::SearchedType,
|
1930
|
+
}.freeze
|
1931
|
+
|
1932
|
+
sig { params(simple_url_params: T.untyped).void }
|
1933
|
+
def initialize(simple_url_params:); end
|
1934
|
+
|
1935
|
+
sig { returns(T.untyped) }
|
1936
|
+
def convert; end
|
1937
|
+
|
1938
|
+
sig { params(key: T.untyped, values: T.untyped).returns(T.untyped) }
|
1939
|
+
def convert_arg(key, values); end
|
1940
|
+
|
1941
|
+
sig { returns(T.untyped) }
|
1942
|
+
attr_reader :simple_url_params
|
1943
|
+
end
|
1944
|
+
end
|
1945
|
+
end
|
1946
|
+
|
1947
|
+
module SelectorClasses
|
1948
|
+
class FunctionEvaluator
|
1949
|
+
include Logging
|
1950
|
+
|
1951
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
1952
|
+
def evaluate_arg?(_index); end
|
1953
|
+
|
1954
|
+
sig { returns(T.untyped) }
|
1955
|
+
def matches?; end
|
1956
|
+
|
1957
|
+
sig { params(_task: T.untyped, _args: T.untyped).returns(T.untyped) }
|
1958
|
+
def evaluate(_task, *_args); end
|
1959
|
+
|
1960
|
+
sig { params(object: T.untyped, fn_name: T.untyped).returns(T.untyped) }
|
1961
|
+
def fn?(object, fn_name); end
|
1962
|
+
end
|
1963
|
+
|
1964
|
+
module Common
|
1965
|
+
class AndFunctionEvaluator < FunctionEvaluator
|
1966
|
+
FUNCTION_NAME = :and
|
1967
|
+
|
1968
|
+
sig { returns(T.untyped) }
|
1969
|
+
def matches?; end
|
1970
|
+
|
1971
|
+
sig { params(_resource: T.untyped, args: T.untyped).returns(T.untyped) }
|
1972
|
+
def evaluate(_resource, *args); end
|
1973
|
+
end
|
1974
|
+
|
1975
|
+
class OrFunctionEvaluator < FunctionEvaluator
|
1976
|
+
FUNCTION_NAME = :or
|
1977
|
+
|
1978
|
+
sig { returns(T.untyped) }
|
1979
|
+
def matches?; end
|
1980
|
+
|
1981
|
+
sig { params(_resource: T.untyped, args: T.untyped).returns(T.untyped) }
|
1982
|
+
def evaluate(_resource, *args); end
|
1983
|
+
end
|
1984
|
+
|
1985
|
+
class NotFunctionEvaluator < FunctionEvaluator
|
1986
|
+
FUNCTION_NAME = :not
|
1987
|
+
|
1988
|
+
sig { returns(T.untyped) }
|
1989
|
+
def matches?; end
|
1990
|
+
|
1991
|
+
sig { params(_resource: T.untyped, subvalue: T.untyped).returns(T.untyped) }
|
1992
|
+
def evaluate(_resource, subvalue); end
|
1993
|
+
end
|
1994
|
+
|
1995
|
+
class NilPFunctionEvaluator < FunctionEvaluator
|
1996
|
+
sig { returns(T.untyped) }
|
1997
|
+
def matches?; end
|
1998
|
+
|
1999
|
+
sig { params(_resource: T.untyped, subvalue: T.untyped).returns(T.untyped) }
|
2000
|
+
def evaluate(_resource, subvalue); end
|
2001
|
+
end
|
2002
|
+
|
2003
|
+
class EqualsPFunctionEvaluator < FunctionEvaluator
|
2004
|
+
FUNCTION_NAME = :equals?
|
2005
|
+
|
2006
|
+
sig { returns(T.untyped) }
|
2007
|
+
def matches?; end
|
2008
|
+
|
2009
|
+
sig { params(_resource: T.untyped, lhs: T.untyped, rhs: T.untyped).returns(T.untyped) }
|
2010
|
+
def evaluate(_resource, lhs, rhs); end
|
2011
|
+
end
|
2012
|
+
|
2013
|
+
class CustomFieldValueFunctionEvaluator < FunctionEvaluator
|
2014
|
+
FUNCTION_NAME = :custom_field_value
|
2015
|
+
|
2016
|
+
sig { returns(T.untyped) }
|
2017
|
+
def matches?; end
|
2018
|
+
|
2019
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2020
|
+
def evaluate_arg?(_index); end
|
2021
|
+
|
2022
|
+
sig { params(resource: T.untyped, custom_field_name: T.untyped).returns(T.untyped) }
|
2023
|
+
def evaluate(resource, custom_field_name); end
|
2024
|
+
end
|
2025
|
+
|
2026
|
+
class CustomFieldGidValueFunctionEvaluator < FunctionEvaluator
|
2027
|
+
sig { returns(T.untyped) }
|
2028
|
+
def matches?; end
|
2029
|
+
|
2030
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2031
|
+
def evaluate_arg?(_index); end
|
2032
|
+
|
2033
|
+
sig { params(resource: T.untyped, custom_field_gid: T.untyped).returns(T.untyped) }
|
2034
|
+
def evaluate(resource, custom_field_gid); end
|
2035
|
+
end
|
2036
|
+
|
2037
|
+
class CustomFieldGidValueContainsAnyGidPFunctionEvaluator < FunctionEvaluator
|
2038
|
+
FUNCTION_NAME = :custom_field_gid_value_contains_any_gid?
|
2039
|
+
|
2040
|
+
sig { returns(T.untyped) }
|
2041
|
+
def matches?; end
|
2042
|
+
|
2043
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2044
|
+
def evaluate_arg?(_index); end
|
2045
|
+
|
2046
|
+
sig { params(resource: T.untyped, custom_field_gid: T.untyped, custom_field_values_gids: T.untyped).returns(T.untyped) }
|
2047
|
+
def evaluate(resource, custom_field_gid, custom_field_values_gids); end
|
2048
|
+
end
|
2049
|
+
|
2050
|
+
class CustomFieldValueContainsAnyValuePFunctionEvaluator < FunctionEvaluator
|
2051
|
+
FUNCTION_NAME = :custom_field_value_contains_any_value?
|
2052
|
+
|
2053
|
+
sig { returns(T.untyped) }
|
2054
|
+
def matches?; end
|
2055
|
+
|
2056
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2057
|
+
def evaluate_arg?(_index); end
|
2058
|
+
|
2059
|
+
sig { params(resource: T.untyped, custom_field_name: T.untyped, custom_field_value_names: T.untyped).returns(T.untyped) }
|
2060
|
+
def evaluate(resource, custom_field_name, custom_field_value_names); end
|
2061
|
+
end
|
2062
|
+
|
2063
|
+
class CustomFieldGidValueContainsAllGidsPFunctionEvaluator < FunctionEvaluator
|
2064
|
+
FUNCTION_NAME = :custom_field_gid_value_contains_all_gids?
|
2065
|
+
|
2066
|
+
sig { returns(T.untyped) }
|
2067
|
+
def matches?; end
|
2068
|
+
|
2069
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2070
|
+
def evaluate_arg?(_index); end
|
2071
|
+
|
2072
|
+
sig { params(resource: T.untyped, custom_field_gid: T.untyped, custom_field_values_gids: T.untyped).returns(T.untyped) }
|
2073
|
+
def evaluate(resource, custom_field_gid, custom_field_values_gids); end
|
2074
|
+
end
|
2075
|
+
|
2076
|
+
class NameStartsWithPFunctionEvaluator < FunctionEvaluator
|
2077
|
+
FUNCTION_NAME = :name_starts_with?
|
2078
|
+
|
2079
|
+
sig { returns(T.untyped) }
|
2080
|
+
def matches?; end
|
2081
|
+
|
2082
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2083
|
+
def evaluate_arg?(_index); end
|
2084
|
+
|
2085
|
+
sig { params(resource: T.untyped, prefix: T.untyped).returns(T.untyped) }
|
2086
|
+
def evaluate(resource, prefix); end
|
2087
|
+
end
|
2088
|
+
|
2089
|
+
class StringLiteralEvaluator < FunctionEvaluator
|
2090
|
+
sig { returns(T.untyped) }
|
2091
|
+
def matches?; end
|
2092
|
+
|
2093
|
+
sig { params(_resource: T.untyped).returns(T.untyped) }
|
2094
|
+
def evaluate(_resource); end
|
2095
|
+
end
|
2096
|
+
|
2097
|
+
class FunctionEvaluator < ::Checkoff::SelectorClasses::FunctionEvaluator
|
2098
|
+
sig { params(selector: T.untyped, custom_fields: T.untyped, _kwargs: T.untyped).void }
|
2099
|
+
def initialize(selector:, custom_fields:, **_kwargs); end
|
2100
|
+
|
2101
|
+
sig { returns(T.untyped) }
|
2102
|
+
attr_reader :selector
|
2103
|
+
end
|
2104
|
+
end
|
2105
|
+
|
2106
|
+
module Project
|
2107
|
+
class DueDateFunctionEvaluator < FunctionEvaluator
|
2108
|
+
FUNCTION_NAME = :due_date
|
2109
|
+
|
2110
|
+
sig { returns(T.untyped) }
|
2111
|
+
def matches?; end
|
2112
|
+
|
2113
|
+
sig { params(resource: T.untyped).returns(T.untyped) }
|
2114
|
+
def evaluate(resource); end
|
2115
|
+
end
|
2116
|
+
|
2117
|
+
class ReadyPFunctionEvaluator < FunctionEvaluator
|
2118
|
+
FUNCTION_NAME = :ready?
|
2119
|
+
|
2120
|
+
sig { returns(T.untyped) }
|
2121
|
+
def matches?; end
|
2122
|
+
|
2123
|
+
sig { params(project: T.untyped, period: T.untyped).returns(T.untyped) }
|
2124
|
+
def evaluate(project, period = :now_or_before); end
|
2125
|
+
end
|
2126
|
+
|
2127
|
+
class InPortfolioNamedPFunctionEvaluator < FunctionEvaluator
|
2128
|
+
FUNCTION_NAME = :in_portfolio_named?
|
2129
|
+
|
2130
|
+
sig { returns(T.untyped) }
|
2131
|
+
def matches?; end
|
2132
|
+
|
2133
|
+
sig do
|
2134
|
+
params(
|
2135
|
+
project: T.untyped,
|
2136
|
+
portfolio_name: T.untyped,
|
2137
|
+
workspace_name: T.untyped,
|
2138
|
+
extra_project_fields: T.untyped
|
2139
|
+
).returns(T.untyped)
|
2140
|
+
end
|
2141
|
+
def evaluate(project, portfolio_name, workspace_name: nil, extra_project_fields: []); end
|
2142
|
+
end
|
2143
|
+
|
2144
|
+
class FunctionEvaluator < ::Checkoff::SelectorClasses::FunctionEvaluator
|
2145
|
+
sig do
|
2146
|
+
params(
|
2147
|
+
selector: T.untyped,
|
2148
|
+
projects: T.untyped,
|
2149
|
+
portfolios: T.untyped,
|
2150
|
+
workspaces: T.untyped,
|
2151
|
+
_kwargs: T.untyped
|
2152
|
+
).void
|
2153
|
+
end
|
2154
|
+
def initialize(selector:, projects:, portfolios:, workspaces:, **_kwargs); end
|
2155
|
+
|
2156
|
+
sig { returns(T.untyped) }
|
2157
|
+
attr_reader :selector
|
2158
|
+
end
|
2159
|
+
end
|
2160
|
+
|
2161
|
+
module Section
|
2162
|
+
class EndsWithMilestoneFunctionEvaluator < FunctionEvaluator
|
2163
|
+
FUNCTION_NAME = :ends_with_milestone
|
2164
|
+
|
2165
|
+
sig { returns(T.untyped) }
|
2166
|
+
def matches?; end
|
2167
|
+
|
2168
|
+
sig { params(section: T.untyped).returns(T.untyped) }
|
2169
|
+
def evaluate(section); end
|
2170
|
+
end
|
2171
|
+
|
2172
|
+
class HasTasksPFunctionEvaluator < FunctionEvaluator
|
2173
|
+
FUNCTION_NAME = :has_tasks?
|
2174
|
+
|
2175
|
+
sig { returns(T.untyped) }
|
2176
|
+
def matches?; end
|
2177
|
+
|
2178
|
+
sig { params(section: T.untyped).returns(T.untyped) }
|
2179
|
+
def evaluate(section); end
|
2180
|
+
end
|
2181
|
+
|
2182
|
+
class FunctionEvaluator < ::Checkoff::SelectorClasses::FunctionEvaluator
|
2183
|
+
sig do
|
2184
|
+
params(
|
2185
|
+
selector: T.untyped,
|
2186
|
+
sections: T.untyped,
|
2187
|
+
client: T.untyped,
|
2188
|
+
kwargs: T.untyped
|
2189
|
+
).void
|
2190
|
+
end
|
2191
|
+
def initialize(selector:, sections:, client:, **kwargs); end
|
2192
|
+
|
2193
|
+
sig { returns(T.untyped) }
|
2194
|
+
attr_reader :selector
|
2195
|
+
|
2196
|
+
sig { returns(T.untyped) }
|
2197
|
+
attr_reader :client
|
2198
|
+
end
|
2199
|
+
end
|
2200
|
+
|
2201
|
+
module Task
|
2202
|
+
class InARealProjectPFunctionEvaluator < FunctionEvaluator
|
2203
|
+
sig { returns(T.untyped) }
|
2204
|
+
def matches?; end
|
2205
|
+
|
2206
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2207
|
+
def evaluate_arg?(_index); end
|
2208
|
+
|
2209
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
2210
|
+
def evaluate(task); end
|
2211
|
+
end
|
2212
|
+
|
2213
|
+
class SectionNameStartsWithPFunctionEvaluator < FunctionEvaluator
|
2214
|
+
sig { returns(T.untyped) }
|
2215
|
+
def matches?; end
|
2216
|
+
|
2217
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2218
|
+
def evaluate_arg?(_index); end
|
2219
|
+
|
2220
|
+
sig { params(task: T.untyped, section_name_prefix: T.untyped).returns(T.untyped) }
|
2221
|
+
def evaluate(task, section_name_prefix); end
|
2222
|
+
end
|
2223
|
+
|
2224
|
+
class InSectionNamedPFunctionEvaluator < FunctionEvaluator
|
2225
|
+
sig { returns(T.untyped) }
|
2226
|
+
def matches?; end
|
2227
|
+
|
2228
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2229
|
+
def evaluate_arg?(_index); end
|
2230
|
+
|
2231
|
+
sig { params(task: T.untyped, section_name: T.untyped).returns(T.untyped) }
|
2232
|
+
def evaluate(task, section_name); end
|
2233
|
+
end
|
2234
|
+
|
2235
|
+
class InProjectNamedPFunctionEvaluator < FunctionEvaluator
|
2236
|
+
sig { returns(T.untyped) }
|
2237
|
+
def matches?; end
|
2238
|
+
|
2239
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2240
|
+
def evaluate_arg?(_index); end
|
2241
|
+
|
2242
|
+
sig { params(task: T.untyped, project_name: T.untyped).returns(T.untyped) }
|
2243
|
+
def evaluate(task, project_name); end
|
2244
|
+
end
|
2245
|
+
|
2246
|
+
class InPortfolioMoreThanOncePFunctionEvaluator < FunctionEvaluator
|
2247
|
+
sig { returns(T.untyped) }
|
2248
|
+
def matches?; end
|
2249
|
+
|
2250
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2251
|
+
def evaluate_arg?(_index); end
|
2252
|
+
|
2253
|
+
sig { params(task: T.untyped, portfolio_name: T.untyped).returns(T.untyped) }
|
2254
|
+
def evaluate(task, portfolio_name); end
|
2255
|
+
end
|
2256
|
+
|
2257
|
+
class TagPFunctionEvaluator < FunctionEvaluator
|
2258
|
+
sig { returns(T.untyped) }
|
2259
|
+
def matches?; end
|
2260
|
+
|
2261
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2262
|
+
def evaluate_arg?(_index); end
|
2263
|
+
|
2264
|
+
sig { params(task: T.untyped, tag_name: T.untyped).returns(T.untyped) }
|
2265
|
+
def evaluate(task, tag_name); end
|
2266
|
+
end
|
2267
|
+
|
2268
|
+
class ReadyPFunctionEvaluator < FunctionEvaluator
|
2269
|
+
sig { returns(T.untyped) }
|
2270
|
+
def matches?; end
|
2271
|
+
|
2272
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2273
|
+
def evaluate_arg?(_index); end
|
2274
|
+
|
2275
|
+
sig { params(task: T.untyped, period: T.untyped, ignore_dependencies: T.untyped).returns(T.untyped) }
|
2276
|
+
def evaluate(task, period = :now_or_before, ignore_dependencies = false); end
|
2277
|
+
end
|
2278
|
+
|
2279
|
+
class InPeriodPFunctionEvaluator < FunctionEvaluator
|
2280
|
+
sig { returns(T.untyped) }
|
2281
|
+
def matches?; end
|
2282
|
+
|
2283
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2284
|
+
def evaluate_arg?(_index); end
|
2285
|
+
|
2286
|
+
sig { params(task: T.untyped, field_name: T.untyped, period: T.untyped).returns(T.untyped) }
|
2287
|
+
def evaluate(task, field_name, period); end
|
2288
|
+
end
|
2289
|
+
|
2290
|
+
class UnassignedPFunctionEvaluator < FunctionEvaluator
|
2291
|
+
sig { returns(T.untyped) }
|
2292
|
+
def matches?; end
|
2293
|
+
|
2294
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
2295
|
+
def evaluate(task); end
|
2296
|
+
end
|
2297
|
+
|
2298
|
+
class DueDateSetPFunctionEvaluator < FunctionEvaluator
|
2299
|
+
FUNCTION_NAME = :due_date_set?
|
2300
|
+
|
2301
|
+
sig { returns(T.untyped) }
|
2302
|
+
def matches?; end
|
2303
|
+
|
2304
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
2305
|
+
def evaluate(task); end
|
2306
|
+
end
|
2307
|
+
|
2308
|
+
class LastStoryCreatedLessThanNDaysAgoPFunctionEvaluator < FunctionEvaluator
|
2309
|
+
FUNCTION_NAME = :last_story_created_less_than_n_days_ago?
|
2310
|
+
|
2311
|
+
sig { returns(T.untyped) }
|
2312
|
+
def matches?; end
|
2313
|
+
|
2314
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2315
|
+
def evaluate_arg?(_index); end
|
2316
|
+
|
2317
|
+
sig { params(task: T.untyped, num_days: T.untyped, excluding_resource_subtypes: T.untyped).returns(T.untyped) }
|
2318
|
+
def evaluate(task, num_days, excluding_resource_subtypes); end
|
2319
|
+
end
|
2320
|
+
|
2321
|
+
class EstimateExceedsDurationPFunctionEvaluator < FunctionEvaluator
|
2322
|
+
FUNCTION_NAME = :estimate_exceeds_duration?
|
2323
|
+
|
2324
|
+
sig { returns(T.untyped) }
|
2325
|
+
def matches?; end
|
2326
|
+
|
2327
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
2328
|
+
def calculate_allocated_hours(task); end
|
2329
|
+
|
2330
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
2331
|
+
def evaluate(task); end
|
2332
|
+
end
|
2333
|
+
|
2334
|
+
class DependentOnPreviousSectionLastMilestonePFunctionEvaluator < FunctionEvaluator
|
2335
|
+
FUNCTION_NAME = :dependent_on_previous_section_last_milestone?
|
2336
|
+
|
2337
|
+
sig { returns(T.untyped) }
|
2338
|
+
def matches?; end
|
2339
|
+
|
2340
|
+
sig { params(task: T.untyped, limit_to_portfolio_gid: T.untyped).returns(T.untyped) }
|
2341
|
+
def evaluate(task, limit_to_portfolio_gid: nil); end
|
2342
|
+
end
|
2343
|
+
|
2344
|
+
class InPortfolioNamedPFunctionEvaluator < FunctionEvaluator
|
2345
|
+
FUNCTION_NAME = :in_portfolio_named?
|
2346
|
+
|
2347
|
+
sig { returns(T.untyped) }
|
2348
|
+
def matches?; end
|
2349
|
+
|
2350
|
+
sig { params(task: T.untyped, portfolio_name: T.untyped).returns(T.untyped) }
|
2351
|
+
def evaluate(task, portfolio_name); end
|
2352
|
+
end
|
2353
|
+
|
2354
|
+
class LastTaskMilestoneDoesNotDependOnThisTaskPFunctionEvaluator < FunctionEvaluator
|
2355
|
+
FUNCTION_NAME = :last_task_milestone_does_not_depend_on_this_task?
|
2356
|
+
|
2357
|
+
sig { returns(T.untyped) }
|
2358
|
+
def matches?; end
|
2359
|
+
|
2360
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2361
|
+
def evaluate_arg?(_index); end
|
2362
|
+
|
2363
|
+
sig { params(task: T.untyped, limit_to_portfolio_name: T.untyped).returns(T.untyped) }
|
2364
|
+
def evaluate(task, limit_to_portfolio_name = nil); end
|
2365
|
+
end
|
2366
|
+
|
2367
|
+
class MilestonePFunctionEvaluator < FunctionEvaluator
|
2368
|
+
FUNCTION_NAME = :milestone?
|
2369
|
+
|
2370
|
+
sig { returns(T.untyped) }
|
2371
|
+
def matches?; end
|
2372
|
+
|
2373
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2374
|
+
def evaluate_arg?(_index); end
|
2375
|
+
|
2376
|
+
sig { params(task: T.untyped).returns(T.untyped) }
|
2377
|
+
def evaluate(task); end
|
2378
|
+
end
|
2379
|
+
|
2380
|
+
class NoMilestoneDependsOnThisTaskPFunctionEvaluator < FunctionEvaluator
|
2381
|
+
FUNCTION_NAME = :no_milestone_depends_on_this_task?
|
2382
|
+
|
2383
|
+
sig { returns(T.untyped) }
|
2384
|
+
def matches?; end
|
2385
|
+
|
2386
|
+
sig { params(_index: T.untyped).returns(T.untyped) }
|
2387
|
+
def evaluate_arg?(_index); end
|
2388
|
+
|
2389
|
+
sig { params(task: T.untyped, limit_to_portfolio_name: T.untyped).returns(T.untyped) }
|
2390
|
+
def evaluate(task, limit_to_portfolio_name = nil); end
|
2391
|
+
end
|
2392
|
+
|
2393
|
+
class FunctionEvaluator < ::Checkoff::SelectorClasses::FunctionEvaluator
|
2394
|
+
sig do
|
2395
|
+
params(
|
2396
|
+
selector: T.untyped,
|
2397
|
+
tasks: T.untyped,
|
2398
|
+
timelines: T.untyped,
|
2399
|
+
custom_fields: T.untyped,
|
2400
|
+
_kwargs: T.untyped
|
2401
|
+
).void
|
2402
|
+
end
|
2403
|
+
def initialize(selector:, tasks:, timelines:, custom_fields:, **_kwargs); end
|
2404
|
+
|
2405
|
+
sig { returns(T.untyped) }
|
2406
|
+
attr_reader :selector
|
2407
|
+
end
|
2408
|
+
end
|
2409
|
+
end
|
2410
|
+
end
|
2411
|
+
# typed: true
|
2
2412
|
class ENV
|
3
2413
|
# _@param_ `key`
|
4
2414
|
#
|
@@ -459,7 +2869,7 @@ end
|
|
459
2869
|
|
460
2870
|
# Command-line and gem client for Asana (unofficial)
|
461
2871
|
module Checkoff
|
462
|
-
VERSION = T.let('0.
|
2872
|
+
VERSION = T.let('0.227.0', T.untyped)
|
463
2873
|
|
464
2874
|
# Move tasks from one place to another
|
465
2875
|
class MvSubcommand
|
@@ -489,7 +2899,7 @@ module Checkoff
|
|
489
2899
|
logger: T.untyped
|
490
2900
|
).void
|
491
2901
|
end
|
492
|
-
def initialize(from_workspace_arg:, from_project_arg:, from_section_arg:, to_workspace_arg:, to_project_arg:, to_section_arg:, config: Checkoff::Internal::ConfigLoader.load(:asana), projects: Checkoff::Projects.new(config:
|
2902
|
+
def initialize(from_workspace_arg:, from_project_arg:, from_section_arg:, to_workspace_arg:, to_project_arg:, to_section_arg:, config: Checkoff::Internal::ConfigLoader.load(:asana), projects: Checkoff::Projects.new(config:), sections: Checkoff::Sections.new(config:), logger: $stderr); end
|
493
2903
|
|
494
2904
|
sig { params(tasks: T.untyped, to_project: T.untyped, to_section: T.untyped).returns(T.untyped) }
|
495
2905
|
def move_tasks(tasks, to_project, to_section); end
|
@@ -551,9 +2961,9 @@ module Checkoff
|
|
551
2961
|
stderr: T.untyped
|
552
2962
|
).void
|
553
2963
|
end
|
554
|
-
def initialize(workspace_name, project_name, section_name, task_name, config: Checkoff::Internal::ConfigLoader.load(:asana), projects: Checkoff::Projects.new(config:
|
555
|
-
projects:
|
556
|
-
sections:
|
2964
|
+
def initialize(workspace_name, project_name, section_name, task_name, config: Checkoff::Internal::ConfigLoader.load(:asana), projects: Checkoff::Projects.new(config:), sections: Checkoff::Sections.new(config:,
|
2965
|
+
projects:), tasks: Checkoff::Tasks.new(config:,
|
2966
|
+
sections:), stderr: $stderr); end
|
557
2967
|
|
558
2968
|
sig { returns(T.untyped) }
|
559
2969
|
def run; end
|
@@ -623,7 +3033,7 @@ module Checkoff
|
|
623
3033
|
tasks: T.untyped
|
624
3034
|
).void
|
625
3035
|
end
|
626
|
-
def initialize(workspace_name, task_name, config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:
|
3036
|
+
def initialize(workspace_name, task_name, config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), tasks: Checkoff::Tasks.new(config:)); end
|
627
3037
|
|
628
3038
|
sig { returns(T.untyped) }
|
629
3039
|
def run; end
|
@@ -670,7 +3080,7 @@ module Checkoff
|
|
670
3080
|
workspaces: Checkoff::Workspaces
|
671
3081
|
).void
|
672
3082
|
end
|
673
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), clients: Checkoff::Clients.new(config:
|
3083
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), clients: Checkoff::Clients.new(config:), client: clients.client, projects: Checkoff::Projects.new(config:, client:), workspaces: Checkoff::Workspaces.new(config:, client:)); end
|
674
3084
|
|
675
3085
|
# _@param_ `workspace_name`
|
676
3086
|
#
|
@@ -789,11 +3199,11 @@ module Checkoff
|
|
789
3199
|
asana_task: T.class_of(Asana::Resources::Task)
|
790
3200
|
).void
|
791
3201
|
end
|
792
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:
|
793
|
-
client:
|
794
|
-
client:
|
795
|
-
client:
|
796
|
-
client:
|
3202
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, workspaces: Checkoff::Workspaces.new(config:,
|
3203
|
+
client:), sections: Checkoff::Sections.new(config:,
|
3204
|
+
client:), portfolios: Checkoff::Portfolios.new(config:,
|
3205
|
+
client:), custom_fields: Checkoff::CustomFields.new(config:,
|
3206
|
+
client:), time_class: Time, date_class: Date, asana_task: Asana::Resources::Task); end
|
797
3207
|
|
798
3208
|
# Indicates a task is ready for a person to work on it. This is
|
799
3209
|
# subtly different than what is used by Asana to mark a date as
|
@@ -1068,7 +3478,7 @@ module Checkoff
|
|
1068
3478
|
asana_event_enrichment: Checkoff::Internal::AsanaEventEnrichment
|
1069
3479
|
).void
|
1070
3480
|
end
|
1071
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:
|
3481
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), tasks: Checkoff::Tasks.new(config:), sections: Checkoff::Sections.new(config:), projects: Checkoff::Projects.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client, asana_event_filter_class: Checkoff::Internal::AsanaEventFilter, asana_event_enrichment: Checkoff::Internal::AsanaEventEnrichment.new); end
|
1072
3482
|
|
1073
3483
|
# _@param_ `filters` — The filters to match against
|
1074
3484
|
#
|
@@ -1310,8 +3720,8 @@ module Checkoff
|
|
1310
3720
|
#
|
1311
3721
|
# _@param_ `projects`
|
1312
3722
|
sig { params(config: Checkoff::Internal::EnvFallbackConfigLoader, client: Asana::Client, projects: Checkoff::Projects).void }
|
1313
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:
|
1314
|
-
client:
|
3723
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, projects: Checkoff::Projects.new(config:,
|
3724
|
+
client:)); end
|
1315
3725
|
|
1316
3726
|
# Given a 'My Tasks' project object, pull all tasks, then provide
|
1317
3727
|
# a Hash of tasks with section name -> task list of the
|
@@ -1378,8 +3788,8 @@ module Checkoff
|
|
1378
3788
|
timing: Checkoff::Timing
|
1379
3789
|
).void
|
1380
3790
|
end
|
1381
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:
|
1382
|
-
client:
|
3791
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, workspaces: Checkoff::Workspaces.new(config:,
|
3792
|
+
client:), project_hashes: Checkoff::Internal::ProjectHashes.new, project_timing: Checkoff::Internal::ProjectTiming.new(client:), timing: Checkoff::Timing.new); end
|
1383
3793
|
|
1384
3794
|
# _@param_ `extra_fields`
|
1385
3795
|
sig { params(extra_fields: T::Array[String]).returns(T::Array[String]) }
|
@@ -1565,9 +3975,9 @@ module Checkoff
|
|
1565
3975
|
time: T.class_of(Time)
|
1566
3976
|
).void
|
1567
3977
|
end
|
1568
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:
|
1569
|
-
client:
|
1570
|
-
client:
|
3978
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, projects: Checkoff::Projects.new(config:,
|
3979
|
+
client:), workspaces: Checkoff::Workspaces.new(config:,
|
3980
|
+
client:), time: Time); end
|
1571
3981
|
|
1572
3982
|
# Returns a list of Asana API section objects for a given project
|
1573
3983
|
#
|
@@ -1703,11 +4113,11 @@ module Checkoff
|
|
1703
4113
|
end
|
1704
4114
|
def section(workspace_name, project_name, section_name, extra_section_fields: []); end
|
1705
4115
|
|
1706
|
-
# sord warn -
|
4116
|
+
# sord warn - Asana::HttpClient::Response wasn't able to be resolved to a constant in this project
|
1707
4117
|
# https://github.com/Asana/ruby-asana/blob/master/lib/asana/resource_includes/response_helper.rb#L7
|
1708
4118
|
#
|
1709
4119
|
# _@param_ `response`
|
1710
|
-
sig { params(response:
|
4120
|
+
sig { params(response: Asana::HttpClient::Response).returns(T::Array[T.any(T::Hash[T.untyped, T.untyped], T::Hash[T.untyped, T.untyped])]) }
|
1711
4121
|
def parse(response); end
|
1712
4122
|
|
1713
4123
|
# sord warn - "[String" does not appear to be a type
|
@@ -1808,8 +4218,8 @@ module Checkoff
|
|
1808
4218
|
# _@param_ `projects`
|
1809
4219
|
#
|
1810
4220
|
# _@param_ `clients`
|
1811
|
-
sig { params(config: T::Hash[T.untyped, T.untyped], projects: Checkoff::Projects, clients: Checkoff::Clients).void }
|
1812
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), projects: Checkoff::Projects.new(config:
|
4221
|
+
sig { params(config: T.any(T::Hash[T.untyped, T.untyped], Checkoff::Internal::EnvFallbackConfigLoader), projects: Checkoff::Projects, clients: Checkoff::Clients).void }
|
4222
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), projects: Checkoff::Projects.new(config:), clients: Checkoff::Clients.new(config:)); end
|
1813
4223
|
|
1814
4224
|
# True if all subtasks of the task are completed
|
1815
4225
|
#
|
@@ -1892,7 +4302,7 @@ module Checkoff
|
|
1892
4302
|
# _@param_ `client`
|
1893
4303
|
sig do
|
1894
4304
|
params(
|
1895
|
-
config: T::Hash[T.untyped, T.untyped],
|
4305
|
+
config: T.any(T::Hash[T.untyped, T.untyped], Checkoff::Internal::EnvFallbackConfigLoader),
|
1896
4306
|
workspaces: Checkoff::Workspaces,
|
1897
4307
|
tasks: Checkoff::Tasks,
|
1898
4308
|
sections: Checkoff::Sections,
|
@@ -1901,7 +4311,7 @@ module Checkoff
|
|
1901
4311
|
client: Asana::Client
|
1902
4312
|
).void
|
1903
4313
|
end
|
1904
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:
|
4314
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), tasks: Checkoff::Tasks.new(config:), sections: Checkoff::Sections.new(config:), projects: Checkoff::Projects.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
1905
4315
|
|
1906
4316
|
# sord warn - "[Asana::Resource" does not appear to be a type
|
1907
4317
|
# sord warn - "nil]" does not appear to be a type
|
@@ -1972,7 +4382,7 @@ module Checkoff
|
|
1972
4382
|
# _@param_ `client`
|
1973
4383
|
sig do
|
1974
4384
|
params(
|
1975
|
-
config: T::Hash[T.untyped, T.untyped],
|
4385
|
+
config: T.any(T::Hash[T.untyped, T.untyped], Checkoff::Internal::EnvFallbackConfigLoader),
|
1976
4386
|
workspaces: Checkoff::Workspaces,
|
1977
4387
|
sections: Checkoff::Sections,
|
1978
4388
|
tasks: Checkoff::Tasks,
|
@@ -1981,7 +4391,7 @@ module Checkoff
|
|
1981
4391
|
client: Asana::Client
|
1982
4392
|
).void
|
1983
4393
|
end
|
1984
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:
|
4394
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), sections: Checkoff::Sections.new(config:), tasks: Checkoff::Tasks.new(config:), portfolios: Checkoff::Portfolios.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
1985
4395
|
|
1986
4396
|
# _@param_ `task`
|
1987
4397
|
#
|
@@ -2052,7 +4462,7 @@ module Checkoff
|
|
2052
4462
|
workspaces: Checkoff::Workspaces
|
2053
4463
|
).void
|
2054
4464
|
end
|
2055
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), clients: Checkoff::Clients.new(config:
|
4465
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), clients: Checkoff::Clients.new(config:), client: clients.client, projects: Checkoff::Projects.new(config:, client:), workspaces: Checkoff::Workspaces.new(config:, client:)); end
|
2056
4466
|
|
2057
4467
|
# _@param_ `workspace_name`
|
2058
4468
|
#
|
@@ -2119,7 +4529,7 @@ module Checkoff
|
|
2119
4529
|
#
|
2120
4530
|
# _@param_ `asana_workspace`
|
2121
4531
|
sig { params(config: Checkoff::Internal::EnvFallbackConfigLoader, client: Asana::Client, asana_workspace: T.class_of(Asana::Resources::Workspace)).void }
|
2122
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:
|
4532
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, asana_workspace: Asana::Resources::Workspace); end
|
2123
4533
|
|
2124
4534
|
# Pulls an Asana workspace object
|
2125
4535
|
# @sg-ignore
|
@@ -2162,13 +4572,13 @@ module Checkoff
|
|
2162
4572
|
# _@param_ `client`
|
2163
4573
|
sig do
|
2164
4574
|
params(
|
2165
|
-
config: T::Hash[T.untyped, T.untyped],
|
4575
|
+
config: T.any(T::Hash[T.untyped, T.untyped], Checkoff::Internal::EnvFallbackConfigLoader),
|
2166
4576
|
workspaces: Checkoff::Workspaces,
|
2167
4577
|
clients: Checkoff::Clients,
|
2168
4578
|
client: Asana::Client
|
2169
4579
|
).void
|
2170
4580
|
end
|
2171
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:
|
4581
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
2172
4582
|
|
2173
4583
|
# sord warn - Asana::Resources::Attachment wasn't able to be resolved to a constant in this project
|
2174
4584
|
# _@param_ `url`
|
@@ -2244,11 +4654,11 @@ module Checkoff
|
|
2244
4654
|
sig { params(filename: String).returns(T.nilable(String)) }
|
2245
4655
|
def content_type_from_filename(filename); end
|
2246
4656
|
|
2247
|
-
# sord warn -
|
4657
|
+
# sord warn - Asana::HttpClient::Response wasn't able to be resolved to a constant in this project
|
2248
4658
|
# https://github.com/Asana/ruby-asana/blob/master/lib/asana/resource_includes/response_helper.rb#L7
|
2249
4659
|
#
|
2250
4660
|
# _@param_ `response`
|
2251
|
-
sig { params(response:
|
4661
|
+
sig { params(response: Asana::HttpClient::Response).returns(T::Array[T.any(T::Hash[T.untyped, T.untyped], T::Hash[T.untyped, T.untyped])]) }
|
2252
4662
|
def parse(response); end
|
2253
4663
|
|
2254
4664
|
sig { void }
|
@@ -2313,8 +4723,8 @@ module Checkoff
|
|
2313
4723
|
workspaces: Checkoff::Workspaces
|
2314
4724
|
).void
|
2315
4725
|
end
|
2316
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), clients: Checkoff::Clients.new(config:
|
2317
|
-
client:
|
4726
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), clients: Checkoff::Clients.new(config:), client: clients.client, workspaces: Checkoff::Workspaces.new(config:,
|
4727
|
+
client:)); end
|
2318
4728
|
|
2319
4729
|
# sord warn - Asana::Resources::CustomField wasn't able to be resolved to a constant in this project
|
2320
4730
|
# _@param_ `workspace_name`
|
@@ -2419,7 +4829,7 @@ module Checkoff
|
|
2419
4829
|
# _@param_ `asana_resources_collection_class`
|
2420
4830
|
sig do
|
2421
4831
|
params(
|
2422
|
-
config: T::Hash[Symbol, Object],
|
4832
|
+
config: T.any(T::Hash[Symbol, Object], Checkoff::Internal::EnvFallbackConfigLoader),
|
2423
4833
|
workspaces: Checkoff::Workspaces,
|
2424
4834
|
task_selectors: Checkoff::TaskSelectors,
|
2425
4835
|
projects: Checkoff::Projects,
|
@@ -2429,7 +4839,7 @@ module Checkoff
|
|
2429
4839
|
asana_resources_collection_class: T.class_of(Asana::Resources::Collection)
|
2430
4840
|
).void
|
2431
4841
|
end
|
2432
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:
|
4842
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), task_selectors: Checkoff::TaskSelectors.new(config:), projects: Checkoff::Projects.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client, search_url_parser: Checkoff::Internal::SearchUrl::Parser.new, asana_resources_collection_class: Asana::Resources::Collection); end
|
2433
4843
|
|
2434
4844
|
# Perform an equivalent search API to an Asana search URL in the
|
2435
4845
|
# web UI. Not all URL parameters are supported; each one must be
|
@@ -2575,17 +4985,17 @@ module Checkoff
|
|
2575
4985
|
# _@param_ `timelines`
|
2576
4986
|
sig do
|
2577
4987
|
params(
|
2578
|
-
config: T::Hash[T.untyped, T.untyped],
|
4988
|
+
config: T.any(T::Hash[T.untyped, T.untyped], Checkoff::Internal::EnvFallbackConfigLoader),
|
2579
4989
|
client: Asana::Client,
|
2580
4990
|
tasks: Checkoff::Tasks,
|
2581
4991
|
timelines: Checkoff::Timelines,
|
2582
4992
|
custom_fields: T.untyped
|
2583
4993
|
).void
|
2584
4994
|
end
|
2585
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:
|
2586
|
-
client:
|
2587
|
-
client:
|
2588
|
-
client:
|
4995
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, tasks: Checkoff::Tasks.new(config:,
|
4996
|
+
client:), timelines: Checkoff::Timelines.new(config:,
|
4997
|
+
client:), custom_fields: Checkoff::CustomFields.new(config:,
|
4998
|
+
client:)); end
|
2589
4999
|
|
2590
5000
|
# _@param_ `task`
|
2591
5001
|
#
|
@@ -2641,7 +5051,7 @@ module Checkoff
|
|
2641
5051
|
# _@param_ `client`
|
2642
5052
|
sig do
|
2643
5053
|
params(
|
2644
|
-
config: T::Hash[Symbol, Object],
|
5054
|
+
config: T.any(T::Hash[Symbol, Object], Checkoff::Internal::EnvFallbackConfigLoader),
|
2645
5055
|
workspaces: Checkoff::Workspaces,
|
2646
5056
|
projects: Checkoff::Projects,
|
2647
5057
|
custom_fields: Checkoff::CustomFields,
|
@@ -2650,7 +5060,7 @@ module Checkoff
|
|
2650
5060
|
client: Asana::Client
|
2651
5061
|
).void
|
2652
5062
|
end
|
2653
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:
|
5063
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), projects: Checkoff::Projects.new(config:), custom_fields: Checkoff::CustomFields.new(config:), portfolios: Checkoff::Portfolios.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
2654
5064
|
|
2655
5065
|
# _@param_ `project`
|
2656
5066
|
#
|
@@ -2699,7 +5109,7 @@ module Checkoff
|
|
2699
5109
|
# _@param_ `client`
|
2700
5110
|
sig do
|
2701
5111
|
params(
|
2702
|
-
config: T::Hash[Symbol, Object],
|
5112
|
+
config: T.any(T::Hash[Symbol, Object], Checkoff::Internal::EnvFallbackConfigLoader),
|
2703
5113
|
workspaces: Checkoff::Workspaces,
|
2704
5114
|
sections: Checkoff::Sections,
|
2705
5115
|
custom_fields: Checkoff::CustomFields,
|
@@ -2707,7 +5117,7 @@ module Checkoff
|
|
2707
5117
|
client: Asana::Client
|
2708
5118
|
).void
|
2709
5119
|
end
|
2710
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:
|
5120
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), sections: Checkoff::Sections.new(config:), custom_fields: Checkoff::CustomFields.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
2711
5121
|
|
2712
5122
|
# _@param_ `section`
|
2713
5123
|
#
|
@@ -2795,7 +5205,7 @@ module Checkoff
|
|
2795
5205
|
custom_fields: Checkoff::CustomFields
|
2796
5206
|
).void
|
2797
5207
|
end
|
2798
|
-
def initialize(time_class: Time, date_class: Date, client: Checkoff::Clients.new.client, custom_fields: Checkoff::CustomFields.new(client:
|
5208
|
+
def initialize(time_class: Time, date_class: Date, client: Checkoff::Clients.new.client, custom_fields: Checkoff::CustomFields.new(client:)); end
|
2799
5209
|
|
2800
5210
|
# _@param_ `task`
|
2801
5211
|
sig { params(task: Asana::Resources::Task).returns(T.nilable(Time)) }
|
@@ -2927,7 +5337,7 @@ module Checkoff
|
|
2927
5337
|
custom_fields: Checkoff::CustomFields
|
2928
5338
|
).void
|
2929
5339
|
end
|
2930
|
-
def initialize(time_class: Time, date_class: Date, client: Checkoff::Clients.new.client, custom_fields: Checkoff::CustomFields.new(client:
|
5340
|
+
def initialize(time_class: Time, date_class: Date, client: Checkoff::Clients.new.client, custom_fields: Checkoff::CustomFields.new(client:)); end
|
2931
5341
|
|
2932
5342
|
# @sg-ignore
|
2933
5343
|
#
|
@@ -3484,7 +5894,7 @@ module Checkoff
|
|
3484
5894
|
# _@param_ `asana_event_enrichment`
|
3485
5895
|
sig do
|
3486
5896
|
params(
|
3487
|
-
config: T::Hash[T.untyped, T.untyped],
|
5897
|
+
config: T.any(T::Hash[T.untyped, T.untyped], Checkoff::Internal::EnvFallbackConfigLoader),
|
3488
5898
|
workspaces: Checkoff::Workspaces,
|
3489
5899
|
tasks: Checkoff::Tasks,
|
3490
5900
|
sections: Checkoff::Sections,
|
@@ -3494,7 +5904,7 @@ module Checkoff
|
|
3494
5904
|
client: Asana::Client
|
3495
5905
|
).void
|
3496
5906
|
end
|
3497
|
-
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:
|
5907
|
+
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), workspaces: Checkoff::Workspaces.new(config:), tasks: Checkoff::Tasks.new(config:), sections: Checkoff::Sections.new(config:), projects: Checkoff::Projects.new(config:), resources: Checkoff::Resources.new(config:), clients: Checkoff::Clients.new(config:), client: clients.client); end
|
3498
5908
|
|
3499
5909
|
# Add useful info (like resource task names) into an event for
|
3500
5910
|
# human consumption
|
@@ -4473,7 +6883,7 @@ end - [Checkoff::SelectorClasses::Section::FunctionEvaluator]).freeze, T.untyped
|
|
4473
6883
|
_kwargs: T.untyped
|
4474
6884
|
).void
|
4475
6885
|
end
|
4476
|
-
def initialize(section:, client:, projects: Checkoff::Projects.new(client:
|
6886
|
+
def initialize(section:, client:, projects: Checkoff::Projects.new(client:), sections: Checkoff::Sections.new(client:), custom_fields: Checkoff::CustomFields.new(client:), **_kwargs); end
|
4477
6887
|
|
4478
6888
|
sig { returns(T::Array[T.class_of(Checkoff::SelectorClasses::Project::FunctionEvaluator)]) }
|
4479
6889
|
def function_evaluators; end
|
@@ -4527,3 +6937,26 @@ module Logging
|
|
4527
6937
|
sig { returns(Symbol) }
|
4528
6938
|
def log_level; end
|
4529
6939
|
end
|
6940
|
+
|
6941
|
+
module T
|
6942
|
+
# sord warn - T::Types::Base wasn't able to be resolved to a constant in this project
|
6943
|
+
# sord warn - T::Types::Base wasn't able to be resolved to a constant in this project
|
6944
|
+
# _@param_ `type`
|
6945
|
+
sig { params(type: T.any(T::Types::Base, T.class_of(Object))).returns(T::Types::Base) }
|
6946
|
+
def self.nilable(type); end
|
6947
|
+
|
6948
|
+
# sord warn - T::Types::Base wasn't able to be resolved to a constant in this project
|
6949
|
+
# _@param_ `obj`
|
6950
|
+
#
|
6951
|
+
# _@param_ `type`
|
6952
|
+
sig { params(obj: BasicObject, type: T.any(T::Types::Base, T.class_of(Object))).returns(BasicObject) }
|
6953
|
+
def self.let(obj, type); end
|
6954
|
+
|
6955
|
+
# sord warn - T::Types::Base wasn't able to be resolved to a constant in this project
|
6956
|
+
sig { returns(T::Types::Base) }
|
6957
|
+
def self.untyped; end
|
6958
|
+
|
6959
|
+
class Struct
|
6960
|
+
extend T::Props::ClassMethods
|
6961
|
+
end
|
6962
|
+
end
|