checkoff 0.226.0 → 0.227.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/checkoff/attachments.rb +10 -10
- 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 +21 -21
- 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 +2482 -49
- data/sig/checkoff.rbs +29 -9
- metadata +1 -1
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
|
#
|
@@ -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`
|
@@ -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
|