checkoff 0.243.0 → 0.244.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. checksums.yaml +4 -4
  2. data/checkoff.gemspec +39 -22
  3. data/lib/checkoff/attachments.rb +9 -9
  4. data/lib/checkoff/cli.rb +28 -16
  5. data/lib/checkoff/clients.rb +2 -0
  6. data/lib/checkoff/custom_fields.rb +5 -8
  7. data/lib/checkoff/events.rb +0 -2
  8. data/lib/checkoff/internal/asana_event_enrichment.rb +6 -4
  9. data/lib/checkoff/internal/asana_event_filter.rb +0 -3
  10. data/lib/checkoff/internal/config_loader.rb +1 -1
  11. data/lib/checkoff/internal/logging.rb +2 -0
  12. data/lib/checkoff/internal/project_hashes.rb +0 -1
  13. data/lib/checkoff/internal/project_timing.rb +0 -5
  14. data/lib/checkoff/internal/search_url/custom_field_param_converter.rb +6 -5
  15. data/lib/checkoff/internal/search_url/custom_field_variant.rb +0 -1
  16. data/lib/checkoff/internal/search_url/date_param_converter.rb +2 -5
  17. data/lib/checkoff/internal/search_url/parser.rb +4 -0
  18. data/lib/checkoff/internal/search_url/results_merger.rb +1 -0
  19. data/lib/checkoff/internal/search_url/simple_param_converter.rb +2 -4
  20. data/lib/checkoff/internal/selector_classes/common.rb +19 -1
  21. data/lib/checkoff/internal/selector_classes/function_evaluator.rb +1 -1
  22. data/lib/checkoff/internal/selector_classes/project.rb +8 -0
  23. data/lib/checkoff/internal/selector_classes/section.rb +2 -2
  24. data/lib/checkoff/internal/selector_classes/task/function_evaluator.rb +9 -0
  25. data/lib/checkoff/internal/selector_classes/task.rb +28 -27
  26. data/lib/checkoff/internal/selector_evaluator.rb +2 -0
  27. data/lib/checkoff/internal/task_hashes.rb +0 -3
  28. data/lib/checkoff/internal/task_timing.rb +4 -6
  29. data/lib/checkoff/internal/thread_local.rb +1 -1
  30. data/lib/checkoff/monkeypatches/resource_marshalling.rb +0 -2
  31. data/lib/checkoff/my_tasks.rb +2 -1
  32. data/lib/checkoff/portfolios.rb +1 -0
  33. data/lib/checkoff/projects.rb +5 -5
  34. data/lib/checkoff/resources.rb +0 -2
  35. data/lib/checkoff/section_selectors.rb +0 -1
  36. data/lib/checkoff/sections.rb +18 -14
  37. data/lib/checkoff/subtasks.rb +1 -1
  38. data/lib/checkoff/tags.rb +2 -4
  39. data/lib/checkoff/task_searches.rb +2 -8
  40. data/lib/checkoff/task_selectors.rb +2 -3
  41. data/lib/checkoff/tasks.rb +18 -11
  42. data/lib/checkoff/timelines.rb +12 -6
  43. data/lib/checkoff/timing.rb +5 -8
  44. data/lib/checkoff/version.rb +1 -1
  45. data/lib/checkoff/workspaces.rb +5 -4
  46. data/rbi/checkoff.rbi +618 -483
  47. data/sig/checkoff.rbs +574 -481
  48. metadata +1 -1
data/sig/checkoff.rbs CHANGED
@@ -72,7 +72,7 @@ module Checkoff
72
72
  # _@param_ `from_project_name`
73
73
  #
74
74
  # _@param_ `from_section_name`
75
- def fetch_tasks: (String from_workspace_name, (String | Symbol) from_project_name, (String | Symbol) from_section_name) -> ::Enumerable[Asana::Resources::Task]
75
+ def fetch_tasks: ((String | Symbol) from_workspace_name, (String | Symbol) from_project_name, (String | Symbol)? from_section_name) -> ::Enumerable[Asana::Resources::Task]
76
76
 
77
77
  def run: () -> void
78
78
 
@@ -138,17 +138,13 @@ module Checkoff
138
138
  def run: () -> void
139
139
 
140
140
  # _@param_ `project_name`
141
- def validate_and_assign_project_name: (String project_name) -> (String | Symbol)
141
+ def validate_and_assign_project_name: ((String | Symbol) project_name) -> (String | Symbol)
142
142
 
143
- # @sg-ignore
144
- #
145
143
  # _@param_ `workspace`
146
144
  #
147
145
  # _@param_ `project`
148
146
  def run_on_project: ((String | Symbol) workspace, (String | Symbol) project) -> String
149
147
 
150
- # @sg-ignore
151
- #
152
148
  # _@param_ `workspace`
153
149
  #
154
150
  # _@param_ `project`
@@ -156,8 +152,6 @@ module Checkoff
156
152
  # _@param_ `section`
157
153
  def run_on_section: ((String | Symbol) workspace, (String | Symbol) project, (String | Symbol)? section) -> String
158
154
 
159
- # @sg-ignore
160
- #
161
155
  # _@param_ `workspace`
162
156
  #
163
157
  # _@param_ `project`
@@ -294,21 +288,19 @@ module Checkoff
294
288
  ) -> ::Enumerable[Asana::Resources::Task]
295
289
 
296
290
  # sord warn - Asana::Resources::Tag wasn't able to be resolved to a constant in this project
291
+ # @sg-ignore
292
+ #
297
293
  # _@param_ `workspace_name`
298
294
  #
299
295
  # _@param_ `tag_name`
300
296
  def tag_or_raise: (String workspace_name, String tag_name) -> Asana::Resources::Tag
301
297
 
302
298
  # sord warn - Asana::Resources::Tag wasn't able to be resolved to a constant in this project
303
- # @sg-ignore
304
- #
305
299
  # _@param_ `workspace_name`
306
300
  #
307
301
  # _@param_ `tag_name`
308
302
  def tag: (String workspace_name, String tag_name) -> Asana::Resources::Tag?
309
303
 
310
- # @sg-ignore
311
- #
312
304
  # _@param_ `options`
313
305
  def build_params: (::Hash[Symbol, Object] options) -> ::Hash[Symbol, Object]
314
306
 
@@ -405,8 +397,6 @@ module Checkoff
405
397
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
406
398
  # Pull a specific task by name
407
399
  #
408
- # @sg-ignore
409
- #
410
400
  # _@param_ `workspace_name`
411
401
  #
412
402
  # _@param_ `project_name`
@@ -419,7 +409,7 @@ module Checkoff
419
409
  #
420
410
  # _@param_ `extra_fields`
421
411
  def task: (
422
- String workspace_name,
412
+ (String | Symbol) workspace_name,
423
413
  (String | Symbol) project_name,
424
414
  String task_name,
425
415
  ?section_name: (String | Symbol)?,
@@ -427,8 +417,6 @@ module Checkoff
427
417
  ?extra_fields: ::Array[String]
428
418
  ) -> Asana::Resources::Task?
429
419
 
430
- # @sg-ignore
431
- #
432
420
  # _@param_ `workspace_name`
433
421
  #
434
422
  # _@param_ `project_name`
@@ -437,7 +425,7 @@ module Checkoff
437
425
  #
438
426
  # _@param_ `task_name`
439
427
  def gid_for_task: (
440
- String workspace_name,
428
+ (String | Symbol) workspace_name,
441
429
  (String | Symbol) project_name,
442
430
  (String | Symbol)? section_name,
443
431
  String task_name
@@ -456,6 +444,8 @@ module Checkoff
456
444
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
457
445
  # Add a task
458
446
  #
447
+ # @sg-ignore
448
+ #
459
449
  # _@param_ `name`
460
450
  #
461
451
  # _@param_ `workspace_gid`
@@ -474,6 +464,7 @@ module Checkoff
474
464
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
475
465
  # True if any of the task's dependencies are marked incomplete
476
466
  #
467
+ # @sg-ignore
477
468
  # Include 'dependencies.gid' in extra_fields of task passed in.
478
469
  #
479
470
  # _@param_ `task`
@@ -508,6 +499,8 @@ module Checkoff
508
499
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
509
500
  # True if the task is in a project which is in the given portfolio
510
501
  #
502
+ # @sg-ignore
503
+ #
511
504
  # _@param_ `task`
512
505
  #
513
506
  # _@param_ `portfolio_name`
@@ -542,7 +535,7 @@ module Checkoff
542
535
  #
543
536
  # _@param_ `extra_fields`
544
537
  def tasks: (
545
- String workspace_name,
538
+ (String | Symbol) workspace_name,
546
539
  (String | Symbol) project_name,
547
540
  only_uncompleted: bool,
548
541
  ?extra_fields: ::Array[String],
@@ -571,6 +564,7 @@ module Checkoff
571
564
  # _@param_ `message`
572
565
  def finer: (?Object? message) -> void
573
566
 
567
+ # @sg-ignore
574
568
  def log_level: () -> Symbol
575
569
 
576
570
  # sord warn - Asana::Client wasn't able to be resolved to a constant in this project
@@ -660,6 +654,7 @@ module Checkoff
660
654
  # _@param_ `message`
661
655
  def finer: (?Object? message) -> void
662
656
 
657
+ # @sg-ignore
663
658
  def log_level: () -> Symbol
664
659
 
665
660
  attr_reader projects: Checkoff::Projects
@@ -734,6 +729,8 @@ module Checkoff
734
729
  # _@param_ `num_days`
735
730
  def n_days_from_now: (Integer num_days) -> Time
736
731
 
732
+ # @sg-ignore
733
+ #
737
734
  # _@param_ `num_days`
738
735
  def n_days_from_today: (Integer num_days) -> Date
739
736
 
@@ -770,6 +767,7 @@ module Checkoff
770
767
  # _@param_ `message`
771
768
  def finer: (?Object? message) -> void
772
769
 
770
+ # @sg-ignore
773
771
  def log_level: () -> Symbol
774
772
  end
775
773
 
@@ -822,7 +820,7 @@ module Checkoff
822
820
  def tasks_by_section_for_my_tasks: (Asana::Resources::Project project, ?only_uncompleted: bool, ?extra_fields: ::Array[String]) -> ::Hash[String, ::Enumerable[Asana::Resources::Task]]
823
821
 
824
822
  # _@param_ `name`
825
- def section_key: (String name) -> String?
823
+ def section_key: (String? name) -> String?
826
824
 
827
825
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
828
826
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
@@ -899,15 +897,17 @@ module Checkoff
899
897
  # _@param_ `project_name` — - :my_tasks or a project name
900
898
  #
901
899
  # _@param_ `extra_fields`
902
- def project: (String workspace_name, (String | Symbol) project_name, ?extra_fields: ::Array[String]) -> Asana::Resources::Project?
900
+ def project: ((String | Symbol) workspace_name, (String | Symbol) project_name, ?extra_fields: ::Array[String]) -> Asana::Resources::Project?
903
901
 
904
902
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
903
+ # @sg-ignore
904
+ #
905
905
  # _@param_ `workspace_name`
906
906
  #
907
907
  # _@param_ `project_name` — - :my_tasks or a project name
908
908
  #
909
909
  # _@param_ `extra_fields`
910
- def project_or_raise: (String workspace_name, (String | Symbol) project_name, ?extra_fields: ::Array[String]) -> Asana::Resources::Project
910
+ def project_or_raise: ((String | Symbol) workspace_name, (String | Symbol) project_name, ?extra_fields: ::Array[String]) -> Asana::Resources::Project
911
911
 
912
912
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
913
913
  # _@param_ `gid`
@@ -947,7 +947,7 @@ module Checkoff
947
947
  # _@param_ `workspace_name`
948
948
  #
949
949
  # _@param_ `extra_fields`
950
- def projects_by_workspace_name: (String workspace_name, ?extra_fields: ::Array[String]) -> ::Enumerable[Asana::Resources::Project]
950
+ def projects_by_workspace_name: ((String | Symbol) workspace_name, ?extra_fields: ::Array[String]) -> ::Enumerable[Asana::Resources::Project]
951
951
 
952
952
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
953
953
  # _@param_ `project_obj`
@@ -983,7 +983,7 @@ module Checkoff
983
983
 
984
984
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
985
985
  # _@param_ `workspace_name`
986
- def my_tasks: (String workspace_name) -> Asana::Resources::Project
986
+ def my_tasks: ((String | Symbol) workspace_name) -> Asana::Resources::Project
987
987
 
988
988
  def logger: () -> ::Logger
989
989
 
@@ -1002,6 +1002,7 @@ module Checkoff
1002
1002
  # _@param_ `message`
1003
1003
  def finer: (?Object? message) -> void
1004
1004
 
1005
+ # @sg-ignore
1005
1006
  def log_level: () -> Symbol
1006
1007
 
1007
1008
  attr_reader timing: Checkoff::Timing
@@ -1051,7 +1052,7 @@ module Checkoff
1051
1052
  # _@param_ `project_name`
1052
1053
  #
1053
1054
  # _@param_ `extra_fields`
1054
- def sections_or_raise: (String workspace_name, (String | Symbol) project_name, ?extra_fields: ::Array[String]) -> ::Enumerable[Asana::Resources::Section]
1055
+ def sections_or_raise: ((String | Symbol) workspace_name, (String | Symbol) project_name, ?extra_fields: ::Array[String]) -> ::Enumerable[Asana::Resources::Section]
1055
1056
 
1056
1057
  # sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
1057
1058
  # Returns a list of Asana API section objects for a given project GID
@@ -1100,9 +1101,9 @@ module Checkoff
1100
1101
  #
1101
1102
  # _@param_ `extra_fields`
1102
1103
  def tasks: (
1103
- String workspace_name,
1104
+ (String | Symbol) workspace_name,
1104
1105
  (String | Symbol) project_name,
1105
- String? section_name,
1106
+ (String | Symbol)? section_name,
1106
1107
  ?only_uncompleted: bool,
1107
1108
  ?extra_fields: ::Array[String]
1108
1109
  ) -> ::Enumerable[Asana::Resources::Task]
@@ -1118,7 +1119,7 @@ module Checkoff
1118
1119
  def section_task_names: (String workspace_name, (String | Symbol) project_name, String? section_name) -> ::Array[String]
1119
1120
 
1120
1121
  # sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
1121
- # @sg-ignore
1122
+ # @sg-ignore section() is nil-checked below
1122
1123
  #
1123
1124
  # _@param_ `workspace_name`
1124
1125
  #
@@ -1128,14 +1129,14 @@ module Checkoff
1128
1129
  #
1129
1130
  # _@param_ `extra_section_fields`
1130
1131
  def section_or_raise: (
1131
- String workspace_name,
1132
+ (String | Symbol) workspace_name,
1132
1133
  (String | Symbol) project_name,
1133
- String? section_name,
1134
+ (String | Symbol)? section_name,
1134
1135
  ?extra_section_fields: ::Array[String]
1135
1136
  ) -> Asana::Resources::Section
1136
1137
 
1137
1138
  # _@param_ `name`
1138
- def section_key: (String name) -> String?
1139
+ def section_key: (String? name) -> String?
1139
1140
 
1140
1141
  # sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
1141
1142
  # sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
@@ -1149,8 +1150,6 @@ module Checkoff
1149
1150
  def as_cache_key: () -> ::Hash[untyped, untyped]
1150
1151
 
1151
1152
  # sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
1152
- # @sg-ignore
1153
- #
1154
1153
  # _@param_ `workspace_name`
1155
1154
  #
1156
1155
  # _@param_ `project_name`
@@ -1159,9 +1158,9 @@ module Checkoff
1159
1158
  #
1160
1159
  # _@param_ `extra_section_fields`
1161
1160
  def section: (
1162
- String workspace_name,
1161
+ (String | Symbol) workspace_name,
1163
1162
  (String | Symbol) project_name,
1164
- String? section_name,
1163
+ (String | Symbol)? section_name,
1165
1164
  ?extra_section_fields: ::Array[String]
1166
1165
  ) -> Asana::Resources::Section?
1167
1166
 
@@ -1202,10 +1201,12 @@ module Checkoff
1202
1201
  def file_task_by_section: (::Hash[String?, ::Array[Asana::Resources::Task]] by_section, Asana::Resources::Task task, String project_gid) -> void
1203
1202
 
1204
1203
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
1204
+ # @sg-ignore projects.project may be nil but is raised below
1205
+ #
1205
1206
  # _@param_ `workspace_name`
1206
1207
  #
1207
1208
  # _@param_ `project_name`
1208
- def project_or_raise: (String workspace_name, (String | Symbol) project_name) -> Asana::Resources::Project
1209
+ def project_or_raise: ((String | Symbol) workspace_name, (String | Symbol) project_name) -> Asana::Resources::Project
1209
1210
 
1210
1211
  def logger: () -> ::Logger
1211
1212
 
@@ -1224,6 +1225,7 @@ module Checkoff
1224
1225
  # _@param_ `message`
1225
1226
  def finer: (?Object? message) -> void
1226
1227
 
1228
+ # @sg-ignore
1227
1229
  def log_level: () -> Symbol
1228
1230
 
1229
1231
  attr_reader projects: Checkoff::Projects
@@ -1290,6 +1292,8 @@ module Checkoff
1290
1292
  # expected to move to the new-style way of representing sections
1291
1293
  # as memberships with a separate API within a task.
1292
1294
  #
1295
+ # @sg-ignore
1296
+ #
1293
1297
  # _@param_ `subtask`
1294
1298
  def subtask_section?: (Asana::Resources::Task subtask) -> bool
1295
1299
 
@@ -1420,12 +1424,16 @@ module Checkoff
1420
1424
  def task_dependent_on_previous_section_last_milestone?: (Asana::Resources::Task task, ?limit_to_portfolio_gid: String?) -> bool
1421
1425
 
1422
1426
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1427
+ # @sg-ignore
1428
+ #
1423
1429
  # _@param_ `task`
1424
1430
  #
1425
1431
  # _@param_ `limit_to_portfolio_name`
1426
1432
  def last_task_milestone_depends_on_this_task?: (Asana::Resources::Task task, ?limit_to_portfolio_name: String?) -> bool
1427
1433
 
1428
1434
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1435
+ # @sg-ignore
1436
+ #
1429
1437
  # _@param_ `task`
1430
1438
  #
1431
1439
  # _@param_ `limit_to_portfolio_name`
@@ -1479,6 +1487,8 @@ module Checkoff
1479
1487
  ) -> void
1480
1488
 
1481
1489
  # sord warn - Asana::Resources::Portfolio wasn't able to be resolved to a constant in this project
1490
+ # @sg-ignore
1491
+ #
1482
1492
  # _@param_ `workspace_name`
1483
1493
  #
1484
1494
  # _@param_ `portfolio_name`
@@ -1544,17 +1554,19 @@ module Checkoff
1544
1554
 
1545
1555
  # sord warn - Asana::Resources::Workspace wasn't able to be resolved to a constant in this project
1546
1556
  # Pulls an Asana workspace object
1547
- # @sg-ignore
1548
1557
  #
1549
1558
  # _@param_ `workspace_name`
1550
- def workspace: (String workspace_name) -> Asana::Resources::Workspace?
1559
+ def workspace: ((String | Symbol) workspace_name) -> Asana::Resources::Workspace?
1551
1560
 
1552
1561
  # sord warn - Asana::Resources::Workspace wasn't able to be resolved to a constant in this project
1562
+ # @sg-ignore
1553
1563
  def default_workspace: () -> Asana::Resources::Workspace
1554
1564
 
1555
1565
  # sord warn - Asana::Resources::Workspace wasn't able to be resolved to a constant in this project
1566
+ # @sg-ignore workspace() is nil-checked below
1567
+ #
1556
1568
  # _@param_ `workspace_name`
1557
- def workspace_or_raise: (String workspace_name) -> Asana::Resources::Workspace
1569
+ def workspace_or_raise: ((String | Symbol) workspace_name) -> Asana::Resources::Workspace
1558
1570
 
1559
1571
  # @sg-ignore
1560
1572
  def default_workspace_gid: () -> String
@@ -1611,18 +1623,14 @@ module Checkoff
1611
1623
  # extension as the URL using Net::HTTP, raising an exception if
1612
1624
  # not succesful
1613
1625
  #
1614
- # @sg-ignore
1615
- #
1616
1626
  # _@param_ `uri`
1617
1627
  #
1618
1628
  # _@param_ `verify_mode` — - e.g., OpenSSL::SSL::VERIFY_NONE,OpenSSL::SSL::VERIFY_PEER
1619
1629
  def download_uri: (URI uri, ?verify_mode: Integer) -> Object
1620
1630
 
1621
- # sord warn - Net::HTTPResponse wasn't able to be resolved to a constant in this project
1622
- # @sg-ignore
1623
- #
1631
+ # sord duck - #read_body looks like a duck type, replacing with untyped
1624
1632
  # _@param_ `response`
1625
- def write_tempfile_from_response: (Net::HTTPResponse response) -> Object
1633
+ def write_tempfile_from_response: (untyped response) -> Object
1626
1634
 
1627
1635
  # sord warn - Asana::Resources::Attachment wasn't able to be resolved to a constant in this project
1628
1636
  # _@param_ `url`
@@ -1647,8 +1655,6 @@ module Checkoff
1647
1655
  # _@param_ `attachment_name`
1648
1656
  def create_attachment_from_url_alone!: (String url, Asana::Resources::Resource resource, attachment_name: String?) -> Asana::Resources::Attachment
1649
1657
 
1650
- # @sg-ignore
1651
- #
1652
1658
  # _@param_ `filename`
1653
1659
  def content_type_from_filename: (String filename) -> String?
1654
1660
 
@@ -1677,6 +1683,7 @@ module Checkoff
1677
1683
  # _@param_ `message`
1678
1684
  def finer: (?Object? message) -> void
1679
1685
 
1686
+ # @sg-ignore
1680
1687
  def log_level: () -> Symbol
1681
1688
 
1682
1689
  attr_reader workspaces: Checkoff::Workspaces
@@ -1711,14 +1718,14 @@ module Checkoff
1711
1718
  ) -> void
1712
1719
 
1713
1720
  # sord warn - Asana::Resources::CustomField wasn't able to be resolved to a constant in this project
1721
+ # @sg-ignore
1722
+ #
1714
1723
  # _@param_ `workspace_name`
1715
1724
  #
1716
1725
  # _@param_ `custom_field_name`
1717
1726
  def custom_field_or_raise: (String workspace_name, String custom_field_name) -> Asana::Resources::CustomField
1718
1727
 
1719
1728
  # sord warn - Asana::Resources::CustomField wasn't able to be resolved to a constant in this project
1720
- # @sg-ignore
1721
- #
1722
1729
  # _@param_ `workspace_name`
1723
1730
  #
1724
1731
  # _@param_ `custom_field_name`
@@ -1733,6 +1740,8 @@ module Checkoff
1733
1740
 
1734
1741
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
1735
1742
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1743
+ # @sg-ignore
1744
+ #
1736
1745
  # _@param_ `resource`
1737
1746
  #
1738
1747
  # _@param_ `custom_field_name`
@@ -1740,8 +1749,6 @@ module Checkoff
1740
1749
 
1741
1750
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1742
1751
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
1743
- # @sg-ignore
1744
- #
1745
1752
  # _@param_ `resource`
1746
1753
  #
1747
1754
  # _@param_ `custom_field_name`
@@ -1749,6 +1756,8 @@ module Checkoff
1749
1756
 
1750
1757
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1751
1758
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
1759
+ # @sg-ignore
1760
+ #
1752
1761
  # _@param_ `resource`
1753
1762
  #
1754
1763
  # _@param_ `custom_field_name`
@@ -1756,6 +1765,8 @@ module Checkoff
1756
1765
 
1757
1766
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
1758
1767
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1768
+ # @sg-ignore
1769
+ #
1759
1770
  # _@param_ `resource`
1760
1771
  #
1761
1772
  # _@param_ `custom_field_gid`
@@ -1915,6 +1926,7 @@ module Checkoff
1915
1926
  # _@param_ `message`
1916
1927
  def finer: (?Object? message) -> void
1917
1928
 
1929
+ # @sg-ignore
1918
1930
  def log_level: () -> Symbol
1919
1931
 
1920
1932
  attr_reader task_selectors: Checkoff::TaskSelectors
@@ -1937,8 +1949,6 @@ module Checkoff
1937
1949
  SHORT_CACHE_TIME: untyped
1938
1950
 
1939
1951
  # sord warn - Asana::Client wasn't able to be resolved to a constant in this project
1940
- # @sg-ignore
1941
- #
1942
1952
  # _@param_ `config`
1943
1953
  #
1944
1954
  # _@param_ `client`
@@ -2140,22 +2150,22 @@ module Checkoff
2140
2150
  ) -> void
2141
2151
 
2142
2152
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
2153
+ # @sg-ignore
2154
+ #
2143
2155
  # _@param_ `task`
2144
2156
  def start_time: (Asana::Resources::Task task) -> Time?
2145
2157
 
2146
2158
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
2159
+ # @sg-ignore
2160
+ #
2147
2161
  # _@param_ `task`
2148
2162
  def due_time: (Asana::Resources::Task task) -> Time?
2149
2163
 
2150
2164
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
2151
- # @sg-ignore
2152
- #
2153
2165
  # _@param_ `task`
2154
2166
  def start_date_or_time: (Asana::Resources::Task task) -> (Date | Time)?
2155
2167
 
2156
2168
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
2157
- # @sg-ignore
2158
- #
2159
2169
  # _@param_ `task`
2160
2170
  def due_date_or_time: (Asana::Resources::Task task) -> (Date | Time)?
2161
2171
 
@@ -2170,8 +2180,6 @@ module Checkoff
2170
2180
  def custom_field: (Asana::Resources::Task task, String custom_field_name) -> (Time | Date)?
2171
2181
 
2172
2182
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
2173
- # @sg-ignore
2174
- #
2175
2183
  # _@param_ `task`
2176
2184
  #
2177
2185
  # _@param_ `field_name`
@@ -2200,6 +2208,8 @@ module Checkoff
2200
2208
  # _@param_ `yaml_filename`
2201
2209
  def initialize: (::Hash[Symbol, untyped] config, Symbol sym, String yaml_filename) -> void
2202
2210
 
2211
+ # @sg-ignore
2212
+ #
2203
2213
  # _@param_ `key`
2204
2214
  def []: (Symbol key) -> Object
2205
2215
 
@@ -2256,14 +2266,10 @@ module Checkoff
2256
2266
  ) -> void
2257
2267
 
2258
2268
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
2259
- # @sg-ignore
2260
- #
2261
2269
  # _@param_ `project`
2262
2270
  def start_date: (Asana::Resources::Project project) -> Date?
2263
2271
 
2264
2272
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
2265
- # @sg-ignore
2266
- #
2267
2273
  # _@param_ `project`
2268
2274
  def due_date: (Asana::Resources::Project project) -> Date?
2269
2275
 
@@ -2274,8 +2280,6 @@ module Checkoff
2274
2280
  def custom_field: (Asana::Resources::Project project, String custom_field_name) -> (Time | Date)?
2275
2281
 
2276
2282
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
2277
- # @sg-ignore
2278
- #
2279
2283
  # _@param_ `project`
2280
2284
  #
2281
2285
  # _@param_ `field_name`
@@ -2310,6 +2314,8 @@ module Checkoff
2310
2314
  # _@param_ `args`
2311
2315
  def self.merge_args: (*::Array[::Hash[String, String]] args) -> ::Hash[String, String]
2312
2316
 
2317
+ # @sg-ignore
2318
+ #
2313
2319
  # _@param_ `task_selectors`
2314
2320
  def self.merge_task_selectors: (*::Array[(Symbol | ::Array[untyped])] task_selectors) -> [Symbol, ::Array[untyped], ::Array[untyped]]
2315
2321
  end
@@ -2325,8 +2331,6 @@ module Checkoff
2325
2331
 
2326
2332
  def ensure_no_remaining_params!: () -> void
2327
2333
 
2328
- # @sg-ignore
2329
- #
2330
2334
  # _@param_ `param_name`
2331
2335
  def fetch_solo_param: (String param_name) -> String
2332
2336
 
@@ -2430,6 +2434,8 @@ module Checkoff
2430
2434
  # _@return_ — See https://developers.asana.com/docs/search-tasks-in-a-workspace
2431
2435
  def handle_within_next: (String prefix) -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
2432
2436
 
2437
+ # @sg-ignore
2438
+ #
2433
2439
  # _@param_ `param_key`
2434
2440
  def get_single_param: (String param_key) -> String
2435
2441
 
@@ -2453,8 +2459,6 @@ module Checkoff
2453
2459
  # _@param_ `values` — the values of the search url param
2454
2460
  def initialize: (key: String, values: ::Array[String]) -> void
2455
2461
 
2456
- # @sg-ignore
2457
- #
2458
2462
  # _@return_ — the single value of the search url param
2459
2463
  def single_value: () -> String
2460
2464
 
@@ -2576,7 +2580,6 @@ module Checkoff
2576
2580
 
2577
2581
  def convert: () -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
2578
2582
 
2579
- # @sg-ignore
2580
2583
  def by_custom_field: () -> ::Hash[String, ::Hash[untyped, untyped]]
2581
2584
 
2582
2585
  # @sg-ignore
@@ -2586,6 +2589,8 @@ module Checkoff
2586
2589
  # _@param_ `single_custom_field_params`
2587
2590
  def convert_single_custom_field_params: (String gid, ::Hash[String, ::Array[String]] single_custom_field_params) -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
2588
2591
 
2592
+ # @sg-ignore
2593
+ #
2589
2594
  # _@param_ `key`
2590
2595
  def gid_from_custom_field_key: (String key) -> String
2591
2596
 
@@ -2623,8 +2628,6 @@ module Checkoff
2623
2628
  # _@param_ `asana_event` — The event that Asana sent
2624
2629
  def matches?: (::Hash[untyped, untyped] asana_event) -> bool
2625
2630
 
2626
- # @sg-ignore
2627
- #
2628
2631
  # _@param_ `filter`
2629
2632
  #
2630
2633
  # _@param_ `asana_event`
@@ -2632,8 +2635,6 @@ module Checkoff
2632
2635
  # _@param_ `failures`
2633
2636
  def filter_matches_asana_event?: (::Hash[untyped, untyped] filter, ::Hash[untyped, untyped] asana_event, ::Array[String] failures) -> bool
2634
2637
 
2635
- # @sg-ignore
2636
- #
2637
2638
  # _@param_ `key`
2638
2639
  #
2639
2640
  # _@param_ `value`
@@ -2666,6 +2667,7 @@ module Checkoff
2666
2667
  # _@param_ `message`
2667
2668
  def finer: (?Object? message) -> void
2668
2669
 
2670
+ # @sg-ignore
2669
2671
  def log_level: () -> Symbol
2670
2672
  end
2671
2673
 
@@ -2725,6 +2727,8 @@ module Checkoff
2725
2727
  # _@param_ `resource_type`
2726
2728
  def enrich_gid: (String gid, ?resource_type: String?) -> [untyped, untyped, untyped, untyped]
2727
2729
 
2730
+ # @sg-ignore
2731
+ #
2728
2732
  # _@param_ `filter`
2729
2733
  def enrich_filter_parent_gid!: (::Hash[String, (String | ::Array[String])] filter) -> String?
2730
2734
 
@@ -2759,6 +2763,7 @@ module Checkoff
2759
2763
  # _@param_ `message`
2760
2764
  def finer: (?Object? message) -> void
2761
2765
 
2766
+ # @sg-ignore
2762
2767
  def log_level: () -> Symbol
2763
2768
 
2764
2769
  attr_reader projects: Checkoff::Projects
@@ -2809,8 +2814,6 @@ module Checkoff
2809
2814
  def evaluate_arg?: (Integer _index) -> bool
2810
2815
 
2811
2816
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
2812
- # @sg-ignore
2813
- #
2814
2817
  # _@param_ `task`
2815
2818
  def evaluate: (Asana::Resources::Task task) -> bool
2816
2819
  end
@@ -2871,8 +2874,6 @@ module Checkoff
2871
2874
  def evaluate_arg?: (Integer _index) -> bool
2872
2875
 
2873
2876
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
2874
- # @sg-ignore
2875
- #
2876
2877
  # _@param_ `task`
2877
2878
  #
2878
2879
  # _@param_ `portfolio_name`
@@ -2936,6 +2937,8 @@ module Checkoff
2936
2937
  def matches?: () -> bool
2937
2938
 
2938
2939
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
2940
+ # @sg-ignore
2941
+ #
2939
2942
  # _@param_ `task`
2940
2943
  def evaluate: (Asana::Resources::Task task) -> bool
2941
2944
  end
@@ -3035,6 +3038,8 @@ module Checkoff
3035
3038
  def evaluate_arg?: (Integer _index) -> bool
3036
3039
 
3037
3040
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
3041
+ # @sg-ignore
3042
+ #
3038
3043
  # _@param_ `task`
3039
3044
  def evaluate: (Asana::Resources::Task task) -> bool
3040
3045
  end
@@ -3074,6 +3079,12 @@ module Checkoff
3074
3079
  ) -> void
3075
3080
 
3076
3081
  attr_reader selector: [Symbol, ::Array[untyped]]
3082
+
3083
+ attr_reader tasks: Checkoff::Tasks
3084
+
3085
+ attr_reader timelines: Checkoff::Timelines
3086
+
3087
+ attr_reader custom_fields: Checkoff::CustomFields
3077
3088
  end
3078
3089
  end
3079
3090
 
@@ -3177,6 +3188,8 @@ module Checkoff
3177
3188
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
3178
3189
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
3179
3190
  # @sg-ignore
3191
+ # @sg-ignore
3192
+ # @sg-ignore
3180
3193
  #
3181
3194
  # _@param_ `resource`
3182
3195
  #
@@ -3194,6 +3207,9 @@ module Checkoff
3194
3207
 
3195
3208
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
3196
3209
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
3210
+ # @sg-ignore
3211
+ # @sg-ignore
3212
+ #
3197
3213
  # _@param_ `resource`
3198
3214
  #
3199
3215
  # _@param_ `custom_field_gid`
@@ -3212,6 +3228,9 @@ module Checkoff
3212
3228
 
3213
3229
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
3214
3230
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
3231
+ # @sg-ignore
3232
+ # @sg-ignore
3233
+ #
3215
3234
  # _@param_ `resource`
3216
3235
  #
3217
3236
  # _@param_ `custom_field_name`
@@ -3250,6 +3269,8 @@ module Checkoff
3250
3269
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
3251
3270
  # sord warn - boolish is probably not a type, but using anyway
3252
3271
  # sord warn - boolish wasn't able to be resolved to a constant in this project
3272
+ # @sg-ignore
3273
+ #
3253
3274
  # _@param_ `resource`
3254
3275
  #
3255
3276
  # _@param_ `prefix`
@@ -3290,6 +3311,8 @@ module Checkoff
3290
3311
  def matches?: () -> bool
3291
3312
 
3292
3313
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
3314
+ # @sg-ignore
3315
+ #
3293
3316
  # _@param_ `resource`
3294
3317
  def evaluate: (Asana::Resources::Project resource) -> String?
3295
3318
  end
@@ -3301,6 +3324,8 @@ module Checkoff
3301
3324
  def matches?: () -> bool
3302
3325
 
3303
3326
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
3327
+ # @sg-ignore
3328
+ #
3304
3329
  # _@param_ `project`
3305
3330
  #
3306
3331
  # _@param_ `period` — - :now_or_before or :this_week
@@ -3314,6 +3339,10 @@ module Checkoff
3314
3339
  def matches?: () -> bool
3315
3340
 
3316
3341
  # sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
3342
+ # @sg-ignore
3343
+ #
3344
+ # @sg-ignore
3345
+ #
3317
3346
  # _@param_ `project`
3318
3347
  #
3319
3348
  # _@param_ `portfolio_name`
@@ -3444,6 +3473,7 @@ module Checkoff
3444
3473
  # _@param_ `message`
3445
3474
  def finer: (?Object? message) -> void
3446
3475
 
3476
+ # @sg-ignore
3447
3477
  def log_level: () -> Symbol
3448
3478
  end
3449
3479
  end
@@ -3588,6 +3618,7 @@ module Logging
3588
3618
  # _@param_ `message`
3589
3619
  def finer: (?Object? message) -> void
3590
3620
 
3621
+ # @sg-ignore
3591
3622
  def log_level: () -> Symbol
3592
3623
  end
3593
3624
 
@@ -3620,13 +3651,13 @@ end
3620
3651
  module TestDate
3621
3652
  TIME_BY_PERIOD: untyped
3622
3653
 
3623
- def mock_date: () -> untyped
3654
+ def mock_date: () -> void
3624
3655
 
3625
3656
  def time_by_period: (untyped zone) -> untyped
3626
3657
 
3627
- def mock_now_with_zone: (untyped zone) -> untyped
3658
+ def mock_now_with_zone: (untyped zone) -> void
3628
3659
 
3629
- def mock_now: () -> untyped
3660
+ def mock_now: () -> void
3630
3661
 
3631
3662
  attr_accessor time_period: untyped
3632
3663
 
@@ -3636,64 +3667,64 @@ end
3636
3667
  class TestTags < ClassTest
3637
3668
  extend Forwardable
3638
3669
 
3639
- def test_tag_or_raise_raises: () -> untyped
3670
+ def test_tag_or_raise_raises: () -> void
3640
3671
 
3641
- def test_tag_or_raise: () -> untyped
3672
+ def test_tag_or_raise: () -> void
3642
3673
 
3643
3674
  def expect_workspace_pulled: () -> untyped
3644
3675
 
3645
- def allow_tags_named: () -> untyped
3676
+ def allow_tags_named: () -> void
3646
3677
 
3647
- def expect_tags_pulled: (untyped tag_arr) -> untyped
3678
+ def expect_tags_pulled: (untyped tag_arr) -> void
3648
3679
 
3649
- def test_tag: () -> untyped
3680
+ def test_tag: () -> void
3650
3681
 
3651
- def mock_tasks: (?only_uncompleted: untyped) -> untyped
3682
+ def mock_tasks: (?only_uncompleted: untyped) -> void
3652
3683
 
3653
- def build_task_params: (untyped only_uncompleted) -> untyped
3684
+ def build_task_params: (untyped only_uncompleted) -> void
3654
3685
 
3655
- def build_response_body: () -> untyped
3686
+ def build_response_body: () -> void
3656
3687
 
3657
- def setup_client_expects: (untyped task_endpoint, untyped task_params, untyped merged_task_options) -> untyped
3688
+ def setup_client_expects: (untyped task_endpoint, untyped task_params, untyped merged_task_options) -> void
3658
3689
 
3659
- def setup_response_expects: (untyped response_body) -> untyped
3690
+ def setup_response_expects: (untyped response_body) -> void
3660
3691
 
3661
- def setup_collection_expects: () -> untyped
3692
+ def setup_collection_expects: () -> void
3662
3693
 
3663
- def generate_task_options: () -> untyped
3694
+ def generate_task_options: () -> void
3664
3695
 
3665
- def generate_merged_task_options: () -> untyped
3696
+ def generate_merged_task_options: () -> void
3666
3697
 
3667
- def generate_task_endpoint: () -> untyped
3698
+ def generate_task_endpoint: () -> void
3668
3699
 
3669
- def projects: () -> untyped
3700
+ def projects: () -> void
3670
3701
 
3671
- def test_tasks: () -> untyped
3702
+ def test_tasks: () -> void
3672
3703
 
3673
- def test_tasks_with_completed: () -> untyped
3704
+ def test_tasks_with_completed: () -> void
3674
3705
 
3675
- def respond_like_instance_of: () -> untyped
3706
+ def respond_like_instance_of: () -> void
3676
3707
 
3677
- def respond_like: () -> untyped
3708
+ def respond_like: () -> void
3678
3709
 
3679
- def class_under_test: () -> untyped
3710
+ def class_under_test: () -> void
3680
3711
  end
3681
3712
 
3682
3713
  # Unit test Asana-related classes
3683
3714
  class BaseAsana < ClassTest
3684
3715
  include TestDate
3685
3716
 
3686
- def task_options: (?extra_fields: untyped) -> untyped
3717
+ def task_options: (?extra_fields: untyped) -> void
3687
3718
 
3688
- def task_options_with_completed: () -> untyped
3719
+ def task_options_with_completed: () -> void
3689
3720
 
3690
- def mock_date: () -> untyped
3721
+ def mock_date: () -> void
3691
3722
 
3692
3723
  def time_by_period: (untyped zone) -> untyped
3693
3724
 
3694
- def mock_now_with_zone: (untyped zone) -> untyped
3725
+ def mock_now_with_zone: (untyped zone) -> void
3695
3726
 
3696
- def mock_now: () -> untyped
3727
+ def mock_now: () -> void
3697
3728
  end
3698
3729
 
3699
3730
  # Test a class that uses initializer mocks.
@@ -3705,17 +3736,13 @@ class ClassTest < Minitest::Test
3705
3736
  # # Go ahead and use concrete value for constructor arg
3706
3737
  # @mocks[:some_constructor_arg] = 123
3707
3738
  # end
3708
- def get_test_object: (?untyped clazz) -> untyped
3739
+ def get_test_object: (?untyped clazz) -> void
3709
3740
 
3710
- # default to telling get_initailizer_mocks not to validate this.
3711
- # things going forward using create-test.sh should default to
3712
- # setting this to non-nil values, which are validated and require
3713
- # setting a full hash of values
3714
- def respond_like_instance_of: () -> untyped
3741
+ def respond_like_instance_of: () -> void
3715
3742
 
3716
- def respond_like: () -> untyped
3743
+ def respond_like: () -> void
3717
3744
 
3718
- def create_object: (?untyped clazz) -> untyped
3745
+ def create_object: (?untyped clazz) -> void
3719
3746
  end
3720
3747
 
3721
3748
  # Test the Checkoff::Tasks class
@@ -3723,62 +3750,62 @@ class TestTasks < BaseAsana
3723
3750
  extend Forwardable
3724
3751
  TIME_BY_PERIOD: untyped
3725
3752
 
3726
- def expect_now_pulled: () -> untyped
3753
+ def expect_now_pulled: () -> void
3727
3754
 
3728
- def expect_due_on_parsed: (less_than_now: untyped) -> untyped
3755
+ def expect_due_on_parsed: (less_than_now: untyped) -> void
3729
3756
 
3730
- def expect_start_on_parsed: (less_than_now: untyped) -> untyped
3757
+ def expect_start_on_parsed: (less_than_now: untyped) -> void
3731
3758
 
3732
- def expect_start_at_parsed: (less_than_now: untyped) -> untyped
3759
+ def expect_start_at_parsed: (less_than_now: untyped) -> void
3733
3760
 
3734
- def mock_task_ready_false_due_in_future_on_date: () -> untyped
3761
+ def mock_task_ready_false_due_in_future_on_date: () -> void
3735
3762
 
3736
- def test_task_ready_false_due_in_future_on_date: () -> untyped
3763
+ def test_task_ready_false_due_in_future_on_date: () -> void
3737
3764
 
3738
3765
  def mock_task_ready_true_start_in_past: () -> untyped
3739
3766
 
3740
- def test_task_ready_true_start_in_past: () -> untyped
3767
+ def test_task_ready_true_start_in_past: () -> void
3741
3768
 
3742
- def mock_task_ready_true_start_in_past_time: () -> untyped
3769
+ def mock_task_ready_true_start_in_past_time: () -> void
3743
3770
 
3744
- def test_task_ready_true_start_in_past_time: () -> untyped
3771
+ def test_task_ready_true_start_in_past_time: () -> void
3745
3772
 
3746
- def expect_due_at_parsed: (less_than_now: untyped) -> untyped
3773
+ def expect_due_at_parsed: (less_than_now: untyped) -> void
3747
3774
 
3748
- def mock_task_ready_false_due_in_future_at_time: () -> untyped
3775
+ def mock_task_ready_false_due_in_future_at_time: () -> void
3749
3776
 
3750
- def test_task_ready_false_due_in_future_at_time: () -> untyped
3777
+ def test_task_ready_false_due_in_future_at_time: () -> void
3751
3778
 
3752
- def expect_dependency_gids_pulled: (untyped task, untyped dependency_gids) -> untyped
3779
+ def expect_dependency_gids_pulled: (untyped task, untyped dependency_gids) -> void
3753
3780
 
3754
- def test_task_ready_true_no_due_anything: () -> untyped
3781
+ def test_task_ready_true_no_due_anything: () -> void
3755
3782
 
3756
- def expect_asana_tasks_client_pulled: () -> untyped
3783
+ def expect_asana_tasks_client_pulled: () -> void
3757
3784
 
3758
- def default_fields: () -> untyped
3785
+ def default_fields: () -> void
3759
3786
 
3760
- def fields_including: (untyped extra_fields) -> untyped
3787
+ def fields_including: (untyped extra_fields) -> void
3761
3788
 
3762
- def expect_dependency_completion_pulled: (untyped dependency_gid, untyped dependency_full_task, untyped completed) -> untyped
3789
+ def expect_dependency_completion_pulled: (untyped dependency_gid, untyped dependency_full_task, untyped completed) -> void
3763
3790
 
3764
- def mock_task_ready_false_dependency: () -> untyped
3791
+ def mock_task_ready_false_dependency: () -> void
3765
3792
 
3766
3793
  def test_task_ready_false_dependency: () -> untyped
3767
3794
 
3768
- def test_task_ready_false_dependency_cached: () -> untyped
3795
+ def test_task_ready_false_dependency_cached: () -> void
3769
3796
 
3770
3797
  def allow_task_due: (
3771
3798
  ?start_on: untyped,
3772
3799
  ?start_at: untyped,
3773
3800
  ?due_on: untyped,
3774
3801
  ?due_at: untyped
3775
- ) -> untyped
3802
+ ) -> void
3776
3803
 
3777
- def allow_start_at_pulled: (untyped task, untyped start_at) -> untyped
3804
+ def allow_start_at_pulled: (untyped task, untyped start_at) -> void
3778
3805
 
3779
3806
  def allow_start_on_pulled: (untyped task, untyped start_on) -> untyped
3780
3807
 
3781
- def allow_due_at_pulled: (untyped task, untyped due_at) -> untyped
3808
+ def allow_due_at_pulled: (untyped task, untyped due_at) -> void
3782
3809
 
3783
3810
  def allow_due_on_pulled: (untyped task, untyped due_on) -> untyped
3784
3811
 
@@ -3786,13 +3813,13 @@ class TestTasks < BaseAsana
3786
3813
 
3787
3814
  def expect_task_created: () -> untyped
3788
3815
 
3789
- def mock_add_task: () -> untyped
3816
+ def mock_add_task: () -> void
3790
3817
 
3791
- def test_add_task: () -> untyped
3818
+ def test_add_task: () -> void
3792
3819
 
3793
3820
  def expect_tasks_from_project_pulled: () -> untyped
3794
3821
 
3795
- def expect_project_pulled: () -> untyped
3822
+ def expect_project_pulled: () -> void
3796
3823
 
3797
3824
  def expect_task_by_gid_pulled: (?extra_fields: untyped) -> untyped
3798
3825
 
@@ -3804,76 +3831,82 @@ class TestTasks < BaseAsana
3804
3831
 
3805
3832
  def mock_task_with_section: () -> untyped
3806
3833
 
3807
- def test_task_with_section: () -> untyped
3834
+ def test_task_with_section: () -> void
3808
3835
 
3809
3836
  def mock_task: () -> untyped
3810
3837
 
3811
- def test_task: () -> untyped
3838
+ def test_task: () -> void
3812
3839
 
3813
- def test_in_portfolio_more_than_once: () -> untyped
3840
+ def test_in_portfolio_more_than_once: () -> void
3814
3841
 
3815
3842
  def test_task_to_h_delegates: () -> untyped
3816
3843
 
3817
- def expect_default_workspace_name_pulled: () -> untyped
3844
+ def expect_default_workspace_name_pulled: () -> void
3818
3845
 
3819
- def mock_in_portfolio_named_false_no_projects_no_memberships: () -> untyped
3846
+ def mock_in_portfolio_named_false_no_projects_no_memberships: () -> void
3820
3847
 
3821
- def test_in_portfolio_named_false_no_projects_no_memberships: () -> untyped
3848
+ def test_in_portfolio_named_false_no_projects_no_memberships: () -> void
3822
3849
 
3823
- def mock_in_portfolio_named_false_no_projects_but_memberships: () -> untyped
3850
+ def mock_in_portfolio_named_false_no_projects_but_memberships: () -> void
3824
3851
 
3825
- def test_in_portfolio_named_false_no_projects_but_memberships: () -> untyped
3852
+ def test_in_portfolio_named_false_no_projects_but_memberships: () -> void
3826
3853
 
3827
- def mock_in_portfolio_named_false_projects_wrong_memberships: () -> untyped
3854
+ def mock_in_portfolio_named_false_projects_wrong_memberships: () -> void
3828
3855
 
3829
- def test_in_portfolio_named_false_projects_wrong_memberships: () -> untyped
3856
+ def test_in_portfolio_named_false_projects_wrong_memberships: () -> void
3830
3857
 
3831
- def test_date_or_time_field_by_name: () -> untyped
3858
+ def test_date_or_time_field_by_name: () -> void
3832
3859
 
3833
- def test_h_to_task: () -> untyped
3860
+ def test_h_to_task: () -> void
3834
3861
 
3835
- def test_all_dependent_tasks_empty: () -> untyped
3862
+ def test_all_dependent_tasks_empty: () -> void
3836
3863
 
3837
- def test_all_dependent_tasks_one: () -> untyped
3864
+ def test_all_dependent_tasks_one: () -> void
3838
3865
 
3839
- def test_as_cache_key: () -> untyped
3866
+ def test_as_cache_key: () -> void
3840
3867
 
3841
- def class_under_test: () -> untyped
3868
+ def class_under_test: () -> void
3869
+
3870
+ def test_in_portfolio_more_than_once_true: () -> void
3871
+
3872
+ def test_gid_for_task: () -> void
3873
+
3874
+ def test_gid_for_task_not_found: () -> void
3842
3875
  end
3843
3876
 
3844
3877
  # Test the Checkoff::CLI class with mv subcommand
3845
3878
  class TestCLIMv < Minitest::Test
3846
- def expect_workspaces_created: () -> untyped
3879
+ def expect_workspaces_created: () -> void
3847
3880
 
3848
- def expect_config_loaded: () -> untyped
3881
+ def expect_config_loaded: () -> void
3849
3882
 
3850
- def expect_sections_created: () -> untyped
3883
+ def expect_sections_created: () -> void
3851
3884
 
3852
- def expect_tasks_created: () -> untyped
3885
+ def expect_tasks_created: () -> void
3853
3886
 
3854
- def set_mocks: () -> untyped
3887
+ def set_mocks: () -> void
3855
3888
 
3856
- def get_test_object: () -> untyped
3889
+ def get_test_object: () -> void
3857
3890
 
3858
- def mock_mv_original_use_case: () -> untyped
3891
+ def mock_mv_original_use_case: () -> void
3859
3892
 
3860
- def test_mv_original_use_case: () -> untyped
3893
+ def test_mv_original_use_case: () -> void
3861
3894
  end
3862
3895
 
3863
3896
  class TestEvents < ClassTest
3864
3897
  extend Forwardable
3865
3898
 
3866
- def mock_filter_asana_events_true: () -> untyped
3899
+ def mock_filter_asana_events_true: () -> void
3867
3900
 
3868
- def test_filter_asana_events_true: () -> untyped
3901
+ def test_filter_asana_events_true: () -> void
3869
3902
 
3870
- def test_filter_asana_events_false: () -> untyped
3903
+ def test_filter_asana_events_false: () -> void
3871
3904
 
3872
- def class_under_test: () -> untyped
3905
+ def class_under_test: () -> void
3873
3906
 
3874
- def respond_like_instance_of: () -> untyped
3907
+ def respond_like_instance_of: () -> void
3875
3908
 
3876
- def respond_like: () -> untyped
3909
+ def respond_like: () -> void
3877
3910
  end
3878
3911
 
3879
3912
  # No security (symbold denial of servie) issue; not building
@@ -3881,7 +3914,7 @@ end
3881
3914
  #
3882
3915
  # rubocop:disable Style/OpenStructUse
3883
3916
  class MyOpenStruct < OpenStruct
3884
- def delete: (untyped sym) -> untyped
3917
+ def delete: (untyped sym) -> void
3885
3918
 
3886
3919
  def merge!: (untyped hash) -> untyped
3887
3920
  end
@@ -3895,150 +3928,150 @@ end
3895
3928
  class TestTiming < ClassTest
3896
3929
  extend Forwardable
3897
3930
 
3898
- def test_in_period_this_week_date_true: () -> untyped
3931
+ def test_in_period_this_week_date_true: () -> void
3899
3932
 
3900
- def test_in_period_this_week_nil_true: () -> untyped
3933
+ def test_in_period_this_week_nil_true: () -> void
3901
3934
 
3902
- def test_in_period_day_of_week_nil_false: () -> untyped
3935
+ def test_in_period_day_of_week_nil_false: () -> void
3903
3936
 
3904
- def test_in_period_day_of_week_saturday_false: () -> untyped
3937
+ def test_in_period_day_of_week_saturday_false: () -> void
3905
3938
 
3906
- def test_in_period_indefinite_true: () -> untyped
3939
+ def test_in_period_indefinite_true: () -> void
3907
3940
 
3908
- def test_in_period_bad_period: () -> untyped
3941
+ def test_in_period_bad_period: () -> void
3909
3942
 
3910
- def test_in_period_bad_compound_period: () -> untyped
3943
+ def test_in_period_bad_compound_period: () -> void
3911
3944
 
3912
- def class_under_test: () -> untyped
3945
+ def class_under_test: () -> void
3913
3946
 
3914
- def respond_like_instance_of: () -> untyped
3947
+ def respond_like_instance_of: () -> void
3915
3948
 
3916
- def respond_like: () -> untyped
3949
+ def respond_like: () -> void
3917
3950
  end
3918
3951
 
3919
3952
  class TestClients < ClassTest
3920
3953
  extend Forwardable
3921
3954
 
3922
- def expect_client_created: () -> untyped
3955
+ def expect_client_created: () -> void
3923
3956
 
3924
- def mock_client: () -> untyped
3957
+ def mock_client: () -> void
3925
3958
 
3926
- def test_client: () -> untyped
3959
+ def test_client: () -> void
3927
3960
 
3928
- def class_under_test: () -> untyped
3961
+ def class_under_test: () -> void
3929
3962
  end
3930
3963
 
3931
3964
  # Test the Checkoff::CLI class with the help option
3932
3965
  class TestCLIHelp < Minitest::Test
3933
- def expect_workspaces_created: () -> untyped
3966
+ def expect_workspaces_created: () -> void
3934
3967
 
3935
- def expect_config_loaded: () -> untyped
3968
+ def expect_config_loaded: () -> void
3936
3969
 
3937
- def expect_sections_created: () -> untyped
3970
+ def expect_sections_created: () -> void
3938
3971
 
3939
- def expect_tasks_created: () -> untyped
3972
+ def expect_tasks_created: () -> void
3940
3973
 
3941
3974
  def set_mocks: () -> untyped
3942
3975
 
3943
- def get_test_object: () -> untyped
3976
+ def get_test_object: () -> void
3944
3977
 
3945
- def test_run_with_help_arg: () -> untyped
3978
+ def test_run_with_help_arg: () -> void
3946
3979
  end
3947
3980
 
3948
3981
  # Test the Checkoff::CLI class with view subcommand
3949
3982
  class TestCLIView < Minitest::Test
3950
- def expected_json_no_section_specified: () -> untyped
3983
+ def expected_json_no_section_specified: () -> void
3951
3984
 
3952
- def section_name_str: () -> untyped
3985
+ def section_name_str: () -> void
3953
3986
 
3954
- def project_name: () -> untyped
3987
+ def project_name: () -> void
3955
3988
 
3956
- def task_name: () -> untyped
3989
+ def task_name: () -> void
3957
3990
 
3958
- def expect_tasks_by_section_pulled: () -> untyped
3991
+ def expect_tasks_by_section_pulled: () -> void
3959
3992
 
3960
- def expect_client_pulled: () -> untyped
3993
+ def expect_client_pulled: () -> void
3961
3994
 
3962
- def mock_run_with_no_section_specified_normal_project: (due_on: untyped, due_at: untyped) -> untyped
3995
+ def mock_run_with_no_section_specified_normal_project: (due_on: untyped, due_at: untyped) -> void
3963
3996
 
3964
- def expect_task_named: (untyped task, untyped task_name) -> untyped
3997
+ def expect_task_named: (untyped task, untyped task_name) -> void
3965
3998
 
3966
- def expect_task_due_on: (untyped task, untyped due_on) -> untyped
3999
+ def expect_task_due_on: (untyped task, untyped due_on) -> void
3967
4000
 
3968
- def expect_task_due_at: (untyped task, untyped due_at) -> untyped
4001
+ def expect_task_due_at: (untyped task, untyped due_at) -> void
3969
4002
 
3970
- def three_tasks: () -> untyped
4003
+ def three_tasks: () -> void
3971
4004
 
3972
4005
  def expect_task_queried: (
3973
4006
  untyped task,
3974
4007
  untyped task_name,
3975
4008
  untyped due_on,
3976
4009
  untyped due_at
3977
- ) -> untyped
4010
+ ) -> void
3978
4011
 
3979
4012
  def expect_three_tasks_queried: (due_on: untyped, due_at: untyped) -> untyped
3980
4013
 
3981
- def workspace_name: () -> untyped
4014
+ def workspace_name: () -> void
3982
4015
 
3983
- def allow_workspaces_created: () -> untyped
4016
+ def allow_workspaces_created: () -> void
3984
4017
 
3985
- def allow_config_loaded: () -> untyped
4018
+ def allow_config_loaded: () -> void
3986
4019
 
3987
- def allow_sections_created: () -> untyped
4020
+ def allow_sections_created: () -> void
3988
4021
 
3989
- def allow_tasks_created: () -> untyped
4022
+ def allow_tasks_created: () -> void
3990
4023
 
3991
- def allow_clients_created: () -> untyped
4024
+ def allow_clients_created: () -> void
3992
4025
 
3993
- def set_mocks: () -> untyped
4026
+ def set_mocks: () -> void
3994
4027
 
3995
- def get_test_object: () -> untyped
4028
+ def get_test_object: () -> void
3996
4029
 
3997
- def test_run_with_no_section_specified_normal_project: () -> untyped
4030
+ def test_run_with_no_section_specified_normal_project: () -> void
3998
4031
 
3999
4032
  def expect_three_tasks_pulled_and_queried: (
4000
4033
  project_name: untyped,
4001
4034
  section_name: untyped,
4002
4035
  due_on: untyped,
4003
4036
  due_at: untyped
4004
- ) -> untyped
4037
+ ) -> void
4005
4038
 
4006
4039
  def mock_view: (
4007
4040
  project_name: untyped,
4008
4041
  section_name: untyped,
4009
4042
  due_at: untyped,
4010
4043
  due_on: untyped
4011
- ) -> untyped
4044
+ ) -> void
4012
4045
 
4013
- def mock_view_specific_task: (section_name: untyped) -> untyped
4046
+ def mock_view_specific_task: (section_name: untyped) -> void
4014
4047
 
4015
- def test_view_specific_task_nil_section: () -> untyped
4048
+ def test_view_specific_task_nil_section: () -> void
4016
4049
 
4017
- def test_view_specific_task: () -> untyped
4050
+ def test_view_specific_task: () -> void
4018
4051
 
4019
- def expected_json_section_specified: () -> untyped
4052
+ def expected_json_section_specified: () -> void
4020
4053
 
4021
- def mock_view_run_with_section_specified_empty_section: () -> untyped
4054
+ def mock_view_run_with_section_specified_empty_section: () -> void
4022
4055
 
4023
- def test_view_run_with_section_specified_empty_section: () -> untyped
4056
+ def test_view_run_with_section_specified_empty_section: () -> void
4024
4057
 
4025
4058
  def mock_view_run_with_section_specified_normal_project_colon_project: () -> untyped
4026
4059
 
4027
4060
  def test_view_run_with_section_specified_normal_project_colon_project: () -> untyped
4028
4061
 
4029
- def mock_view_run_with_section_specified_normal_project: () -> untyped
4062
+ def mock_view_run_with_section_specified_normal_project: () -> void
4030
4063
 
4031
4064
  def test_view_run_with_section_specified_normal_project: () -> untyped
4032
4065
 
4033
- def mock_run_with_no_project_specified: () -> untyped
4066
+ def mock_run_with_no_project_specified: () -> void
4034
4067
 
4035
- def test_run_with_no_project_specified: () -> untyped
4068
+ def test_run_with_no_project_specified: () -> void
4036
4069
 
4037
4070
  def expected_json_view_not_due: () -> untyped
4038
4071
 
4039
4072
  def test_view_not_due: () -> untyped
4040
4073
 
4041
- def expected_json_view_due_at: () -> untyped
4074
+ def expected_json_view_due_at: () -> void
4042
4075
 
4043
4076
  def test_view_due_at: () -> untyped
4044
4077
  end
@@ -4048,51 +4081,51 @@ class TestProjects < BaseAsana
4048
4081
  extend Forwardable
4049
4082
  TIME_BY_PERIOD: untyped
4050
4083
 
4051
- def setup_config: () -> untyped
4084
+ def setup_config: () -> void
4052
4085
 
4053
- def setup_projects_pulled: () -> untyped
4086
+ def setup_projects_pulled: () -> void
4054
4087
 
4055
- def sample_projects: () -> untyped
4088
+ def sample_projects: () -> void
4056
4089
 
4057
4090
  def setup_projects_queried: (?workspace_gid: untyped) -> untyped
4058
4091
 
4059
- def expect_tasks_found: (options: untyped) -> untyped
4092
+ def expect_tasks_found: (options: untyped) -> void
4060
4093
 
4061
- def mock_tasks_from_project: (options: untyped) -> untyped
4094
+ def mock_tasks_from_project: (options: untyped) -> void
4062
4095
 
4063
- def test_tasks_from_project_not_only_uncompleted: () -> untyped
4096
+ def test_tasks_from_project_not_only_uncompleted: () -> void
4064
4097
 
4065
- def test_tasks_from_project: () -> untyped
4098
+ def test_tasks_from_project: () -> void
4066
4099
 
4067
- def test_active_tasks: () -> untyped
4100
+ def test_active_tasks: () -> void
4068
4101
 
4069
- def setup_workspace_pulled: () -> untyped
4102
+ def setup_workspace_pulled: () -> void
4070
4103
 
4071
- def setup_user_task_list_pulled: () -> untyped
4104
+ def setup_user_task_list_pulled: () -> void
4072
4105
 
4073
- def mock_project_or_raise_unknown: () -> untyped
4106
+ def mock_project_or_raise_unknown: () -> void
4074
4107
 
4075
- def test_project_or_raise_unknown: () -> untyped
4108
+ def test_project_or_raise_unknown: () -> void
4076
4109
 
4077
4110
  def test_project_by_gid: () -> untyped
4078
4111
 
4079
- def test_project_or_raise_my_tasks: () -> untyped
4112
+ def test_project_or_raise_my_tasks: () -> void
4080
4113
 
4081
4114
  def mock_project_my_tasks: () -> untyped
4082
4115
 
4083
- def test_project_my_tasks: () -> untyped
4116
+ def test_project_my_tasks: () -> void
4084
4117
 
4085
4118
  def test_project_to_h: () -> untyped
4086
4119
 
4087
4120
  def mock_test_in_period: () -> untyped
4088
4121
 
4089
- def test_in_period: () -> untyped
4122
+ def test_in_period: () -> void
4090
4123
 
4091
- def mock_project_ready: () -> untyped
4124
+ def mock_project_ready: () -> void
4092
4125
 
4093
- def test_project_ready: () -> untyped
4126
+ def test_project_ready: () -> void
4094
4127
 
4095
- def class_under_test: () -> untyped
4128
+ def class_under_test: () -> void
4096
4129
  end
4097
4130
 
4098
4131
  # Test the Checkoff::Sections class
@@ -4100,47 +4133,47 @@ class TestSections < BaseAsana
4100
4133
  extend Forwardable
4101
4134
  TIME_BY_PERIOD: untyped
4102
4135
 
4103
- def test_section_task_names_no_tasks: () -> untyped
4136
+ def test_section_task_names_no_tasks: () -> void
4104
4137
 
4105
4138
  def projects: () -> untyped
4106
4139
 
4107
- def test_section_task_names: () -> untyped
4140
+ def test_section_task_names: () -> void
4108
4141
 
4109
- def mock_sections_or_raise: () -> untyped
4142
+ def mock_sections_or_raise: () -> void
4110
4143
 
4111
- def test_sections_or_raise: () -> untyped
4144
+ def test_sections_or_raise: () -> void
4112
4145
 
4113
- def test_sections_or_raise_nil_project_name: () -> untyped
4146
+ def test_sections_or_raise_nil_project_name: () -> void
4114
4147
 
4115
- def expect_my_tasks_pulled: (untyped project, untyped tasks_arr, untyped active_tasks_arr) -> untyped
4148
+ def expect_my_tasks_pulled: (untyped project, untyped tasks_arr, untyped active_tasks_arr) -> void
4116
4149
 
4117
- def expect_section_named: (untyped section, untyped name) -> untyped
4150
+ def expect_section_named: (untyped section, untyped name) -> void
4118
4151
 
4119
- def expect_assignee_section_pulled: (untyped task, untyped section) -> untyped
4152
+ def expect_assignee_section_pulled: (untyped task, untyped section) -> void
4120
4153
 
4121
- def expect_my_tasks_sections_pulled: () -> untyped
4154
+ def expect_my_tasks_sections_pulled: () -> void
4122
4155
 
4123
4156
  def expect_my_tasks_tasks_pulled: () -> untyped
4124
4157
 
4125
- def mock_tasks_by_section_my_tasks: () -> untyped
4158
+ def mock_tasks_by_section_my_tasks: () -> void
4126
4159
 
4127
- def test_tasks_by_section_my_tasks: () -> untyped
4160
+ def test_tasks_by_section_my_tasks: () -> void
4128
4161
 
4129
4162
  def test_tasks_by_section_nil_workspace_name: () -> untyped
4130
4163
 
4131
- def test_tasks_by_section_nil_project_name: () -> untyped
4164
+ def test_tasks_by_section_nil_project_name: () -> void
4132
4165
 
4133
- def test_tasks_by_section_some_in_empty_section: () -> untyped
4166
+ def test_tasks_by_section_some_in_empty_section: () -> void
4134
4167
 
4135
- def expect_project_a_tasks_pulled: () -> untyped
4168
+ def expect_project_a_tasks_pulled: () -> void
4136
4169
 
4137
4170
  def test_tasks_by_section: () -> untyped
4138
4171
 
4139
- def expect_named: (untyped task, untyped name) -> untyped
4172
+ def expect_named: (untyped task, untyped name) -> void
4140
4173
 
4141
- def expect_tasks_pulled: (untyped project, untyped tasks_arr, untyped active_tasks_arr) -> untyped
4174
+ def expect_tasks_pulled: (untyped project, untyped tasks_arr, untyped active_tasks_arr) -> void
4142
4175
 
4143
- def expect_project_pulled: (untyped workspace, untyped project, untyped project_name) -> untyped
4176
+ def expect_project_pulled: (untyped workspace, untyped project, untyped project_name) -> void
4144
4177
 
4145
4178
  def expect_task_project_memberships_queried: () -> untyped
4146
4179
 
@@ -4155,19 +4188,19 @@ class TestSections < BaseAsana
4155
4188
  untyped section_name
4156
4189
  ) -> untyped
4157
4190
 
4158
- def expect_project_gid_pulled: (untyped project, untyped gid) -> untyped
4191
+ def expect_project_gid_pulled: (untyped project, untyped gid) -> void
4159
4192
 
4160
4193
  def expect_sections_client_pulled: () -> untyped
4161
4194
 
4162
- def expect_project_sections_pulled: (untyped project_gid, untyped sections_array) -> untyped
4195
+ def expect_project_sections_pulled: (untyped project_gid, untyped sections_array) -> void
4163
4196
 
4164
- def original_task_options: () -> untyped
4197
+ def original_task_options: () -> void
4165
4198
 
4166
4199
  def fixed_task_options: (only_uncompleted: untyped) -> untyped
4167
4200
 
4168
- def expect_tasks_api_called_for_section: (untyped section_gid, untyped task_list, only_uncompleted: untyped) -> untyped
4201
+ def expect_tasks_api_called_for_section: (untyped section_gid, untyped task_list, only_uncompleted: untyped) -> void
4169
4202
 
4170
- def expect_section_1_gid_pulled: () -> untyped
4203
+ def expect_section_1_gid_pulled: () -> void
4171
4204
 
4172
4205
  def expect_section_2_gid_pulled: () -> untyped
4173
4206
 
@@ -4180,7 +4213,7 @@ class TestSections < BaseAsana
4180
4213
  only_uncompleted: untyped
4181
4214
  ) -> untyped
4182
4215
 
4183
- def test_tasks_not_only_uncompleted: () -> untyped
4216
+ def test_tasks_not_only_uncompleted: () -> void
4184
4217
 
4185
4218
  def allow_section_1_name_pulled: () -> untyped
4186
4219
 
@@ -4188,13 +4221,13 @@ class TestSections < BaseAsana
4188
4221
 
4189
4222
  def allow_empty_section_name_pulled: () -> untyped
4190
4223
 
4191
- def mock_tasks_normal_project: (only_uncompleted: untyped) -> untyped
4224
+ def mock_tasks_normal_project: (only_uncompleted: untyped) -> void
4192
4225
 
4193
4226
  def test_tasks_normal_project: () -> untyped
4194
4227
 
4195
- def test_tasks_by_section_gid: () -> untyped
4228
+ def test_tasks_by_section_gid: () -> void
4196
4229
 
4197
- def test_tasks_by_section_also_completed: () -> untyped
4230
+ def test_tasks_by_section_also_completed: () -> void
4198
4231
 
4199
4232
  def mock_tasks_inbox: () -> untyped
4200
4233
 
@@ -4204,161 +4237,159 @@ class TestSections < BaseAsana
4204
4237
 
4205
4238
  def test_tasks_project_not_found: () -> untyped
4206
4239
 
4207
- def test_previous_section: () -> untyped
4240
+ def test_previous_section: () -> void
4208
4241
 
4209
4242
  def test_previous_section_on_inbox_returns_nil: () -> untyped
4210
4243
 
4211
- def test_section_by_gid: () -> untyped
4244
+ def test_section_by_gid: () -> void
4212
4245
 
4213
- def test_section_by_gid_bad_server_data: () -> untyped
4246
+ def test_section_by_gid_bad_server_data: () -> void
4214
4247
 
4215
- def respond_like_instance_of: () -> untyped
4248
+ def respond_like_instance_of: () -> void
4216
4249
 
4217
- def respond_like: () -> untyped
4250
+ def respond_like: () -> void
4218
4251
 
4219
- def class_under_test: () -> untyped
4252
+ def class_under_test: () -> void
4220
4253
  end
4221
4254
 
4222
4255
  class TestSubtasks < ClassTest
4223
4256
  extend Forwardable
4224
4257
 
4225
- def task_options: () -> untyped
4258
+ def task_options: () -> void
4226
4259
 
4227
- def subtask_options: () -> untyped
4260
+ def subtask_options: () -> void
4228
4261
 
4229
4262
  # refute(subtasks.all_subtasks_completed?(task))
4230
4263
  # end
4231
4264
  def expect_active_subtasks_pulled: (untyped active_subtasks) -> untyped
4232
4265
 
4233
- def allow_all_section_status_queried: () -> untyped
4266
+ def allow_all_section_status_queried: () -> void
4234
4267
 
4235
4268
  # assert(subtasks.all_subtasks_completed?(task))
4236
4269
  # end
4237
4270
  def allow_subtask_section_status_queried: (untyped subtask, untyped result) -> untyped
4238
4271
 
4239
- # assert_equal(subtasks.subtask_section?(subtask), is_rendered_as_separator)
4240
- # end
4241
- def allow_subtask_section_1_named: () -> untyped
4272
+ def allow_subtask_section_1_named: () -> void
4242
4273
 
4243
- def allow_subtask_section_2_named: () -> untyped
4274
+ def allow_subtask_section_2_named: () -> void
4244
4275
 
4245
- def allow_subtask_section_3_named: () -> untyped
4276
+ def allow_subtask_section_3_named: () -> void
4246
4277
 
4247
- def allow_subtask_names_queried: () -> untyped
4278
+ def allow_subtask_names_queried: () -> void
4248
4279
 
4249
- def mock_by_section: () -> untyped
4280
+ def mock_by_section: () -> void
4250
4281
 
4251
- # assert_equal('More than one section named 1:', e.message)
4252
- # end
4253
- def expect_raw_subtasks_pulled: () -> untyped
4282
+ def expect_raw_subtasks_pulled: () -> void
4254
4283
 
4255
- # refute_nil subtasks
4256
- # end
4257
- def class_under_test: () -> untyped
4284
+ def class_under_test: () -> void
4258
4285
 
4259
- def respond_like_instance_of: () -> untyped
4286
+ def respond_like_instance_of: () -> void
4260
4287
 
4261
- def respond_like: () -> untyped
4288
+ def respond_like: () -> void
4262
4289
  end
4263
4290
 
4264
4291
  class TestTimelines < ClassTest
4265
4292
  extend Forwardable
4266
4293
 
4267
- def test_task_dependent_on_previous_section_last_milestone_no_memberships: () -> untyped
4294
+ def test_task_dependent_on_previous_section_last_milestone_no_memberships: () -> void
4268
4295
 
4269
- def mock_task_dependent_on_previous_section_last_milestone_false_no_dependencies: () -> untyped
4296
+ def mock_task_dependent_on_previous_section_last_milestone_false_no_dependencies: () -> void
4270
4297
 
4271
- def test_task_dependent_on_previous_section_last_milestone_false_no_dependencies_: () -> untyped
4298
+ def test_task_dependent_on_previous_section_last_milestone_false_no_dependencies_: () -> void
4272
4299
 
4273
- def expect_task_data_created: (untyped task, untyped task_data) -> untyped
4300
+ def expect_task_data_created: (untyped task, untyped task_data) -> void
4274
4301
 
4275
4302
  def expect_section_2_pulled: () -> untyped
4276
4303
 
4277
- def expect_section_2_previous_section_called: () -> untyped
4304
+ def expect_section_2_previous_section_called: () -> void
4278
4305
 
4279
- def expect_section_1_gid_pulled: () -> untyped
4306
+ def expect_section_1_gid_pulled: () -> void
4280
4307
 
4281
- def expect_no_section_1_tasks: () -> untyped
4308
+ def expect_no_section_1_tasks: () -> void
4282
4309
 
4283
- def mock_task_dependent_on_previous_section_last_milestone_true_no_tasks: () -> untyped
4310
+ def mock_task_dependent_on_previous_section_last_milestone_true_no_tasks: () -> void
4284
4311
 
4285
- def test_task_dependent_on_previous_section_last_milestone_true_no_tasks: () -> untyped
4312
+ def test_task_dependent_on_previous_section_last_milestone_true_no_tasks: () -> void
4286
4313
 
4287
- def expect_section_1_tasks_pulled: () -> untyped
4314
+ def expect_section_1_tasks_pulled: () -> void
4288
4315
 
4289
- def expect_milestone_queried: () -> untyped
4316
+ def expect_milestone_queried: () -> void
4290
4317
 
4291
- def mock_task_dependent_on_previous_section_last_milestone_true: () -> untyped
4318
+ def mock_task_dependent_on_previous_section_last_milestone_true: () -> void
4292
4319
 
4293
4320
  def test_task_dependent_on_previous_section_last_milestone_true: () -> untyped
4294
4321
 
4295
- def mock_task_dependent_on_previous_section_last_milestone_false_no_previous_section: () -> untyped
4322
+ def mock_task_dependent_on_previous_section_last_milestone_false_no_previous_section: () -> void
4296
4323
 
4297
- def test_task_dependent_on_previous_section_last_milestone_false_no_previous_section: () -> untyped
4324
+ def test_task_dependent_on_previous_section_last_milestone_false_no_previous_section: () -> void
4298
4325
 
4299
- def test_last_task_milestone_depends_on_this_task_no_memberships: () -> untyped
4326
+ def test_last_task_milestone_depends_on_this_task_no_memberships: () -> void
4300
4327
 
4301
4328
  def expect_all_dependent_tasks_pulled: (untyped task, untyped dependents) -> untyped
4302
4329
 
4303
- def expect_memberships_pulled: (untyped task, untyped memberships) -> untyped
4330
+ def expect_memberships_pulled: (untyped task, untyped memberships) -> void
4331
+
4332
+ def expect_tasks_by_section_gid_pulled: (untyped tasks) -> void
4333
+
4334
+ def expect_milestone_details_pulled: () -> void
4304
4335
 
4305
- def expect_tasks_by_section_gid_pulled: (untyped tasks) -> untyped
4336
+ def expect_task_gid_pulled: () -> void
4306
4337
 
4307
- def expect_milestone_details_pulled: () -> untyped
4338
+ def test_last_task_milestone_depends_on_this_task_false: () -> void
4308
4339
 
4309
- def expect_task_gid_pulled: () -> untyped
4340
+ def test_last_task_milestone_depends_on_this_task_no_milestone: () -> void
4310
4341
 
4311
- def test_last_task_milestone_depends_on_this_task_false: () -> untyped
4342
+ def test_last_task_milestone_depends_on_this_task_is_last_milestone: () -> void
4312
4343
 
4313
- def test_last_task_milestone_depends_on_this_task_no_milestone: () -> untyped
4344
+ def export_portfolio_projects_pulled: (untyped projects) -> void
4314
4345
 
4315
- def test_last_task_milestone_depends_on_this_task_is_last_milestone: () -> untyped
4346
+ def test_last_task_milestone_depends_on_this_task_is_last_milestone_limited_to_portfolio_no_projects: () -> void
4316
4347
 
4317
- def export_portfolio_projects_pulled: (untyped projects) -> untyped
4348
+ def mock_last_task_milestone_depends_on_this_task_is_last_milestone_limited_to_portfolio: () -> void
4318
4349
 
4319
- def test_last_task_milestone_depends_on_this_task_is_last_milestone_limited_to_portfolio_no_projects: () -> untyped
4350
+ def test_last_task_milestone_depends_on_this_task_is_last_milestone_limited_to_portfolio: () -> void
4320
4351
 
4321
- def mock_last_task_milestone_depends_on_this_task_is_last_milestone_limited_to_portfolio: () -> untyped
4352
+ def test_init: () -> void
4322
4353
 
4323
- def test_last_task_milestone_depends_on_this_task_is_last_milestone_limited_to_portfolio: () -> untyped
4354
+ def class_under_test: () -> void
4324
4355
 
4325
- def test_init: () -> untyped
4356
+ def respond_like_instance_of: () -> void
4326
4357
 
4327
- def class_under_test: () -> untyped
4358
+ def respond_like: () -> void
4328
4359
 
4329
- def respond_like_instance_of: () -> untyped
4360
+ def test_any_milestone_depends_on_this_task_false: () -> void
4330
4361
 
4331
- def respond_like: () -> untyped
4362
+ def test_any_milestone_depends_on_this_task_true: () -> void
4332
4363
  end
4333
4364
 
4334
4365
  class TestPortfolios < ClassTest
4335
4366
  extend Forwardable
4336
4367
 
4337
- def test_portfolio_or_raise_raises: () -> untyped
4368
+ def test_portfolio_or_raise_raises: () -> void
4338
4369
 
4339
- def test_portfolio_or_raise: () -> untyped
4370
+ def test_portfolio_or_raise: () -> void
4340
4371
 
4341
4372
  def expect_workspace_pulled: () -> untyped
4342
4373
 
4343
- def allow_portfolios_named: () -> untyped
4374
+ def allow_portfolios_named: () -> void
4344
4375
 
4345
- def expect_portfolios_api_pulled: () -> untyped
4376
+ def expect_portfolios_api_pulled: () -> void
4346
4377
 
4347
- def expect_me_gid_pulled: () -> untyped
4378
+ def expect_me_gid_pulled: () -> void
4348
4379
 
4349
4380
  def expect_portfolios_pulled: (untyped portfolio_arr) -> untyped
4350
4381
 
4351
- def test_portfolio: () -> untyped
4382
+ def test_portfolio: () -> void
4352
4383
 
4353
- def test_portfolio_by_gid: () -> untyped
4384
+ def test_portfolio_by_gid: () -> void
4354
4385
 
4355
- def test_projects_in_portfolios: () -> untyped
4386
+ def test_projects_in_portfolios: () -> void
4356
4387
 
4357
- def class_under_test: () -> untyped
4388
+ def class_under_test: () -> void
4358
4389
 
4359
- def respond_like_instance_of: () -> untyped
4390
+ def respond_like_instance_of: () -> void
4360
4391
 
4361
- def respond_like: () -> untyped
4392
+ def respond_like: () -> void
4362
4393
  end
4363
4394
 
4364
4395
  # Test the Checkoff::Workspaces class
@@ -4366,167 +4397,176 @@ class TestWorkspaces < BaseAsana
4366
4397
  extend Forwardable
4367
4398
  TIME_BY_PERIOD: untyped
4368
4399
 
4369
- def mock_workspace_or_raise_nil: () -> untyped
4400
+ def mock_workspace_or_raise_nil: () -> void
4370
4401
 
4371
- def test_workspace_or_raise_nil: () -> untyped
4402
+ def test_workspace_or_raise_nil: () -> void
4372
4403
 
4373
- def mock_workspace_or_raise: () -> untyped
4404
+ def mock_workspace_or_raise: () -> void
4374
4405
 
4375
- def test_workspace_or_raise: () -> untyped
4406
+ def test_workspace_or_raise: () -> void
4376
4407
 
4377
- def expect_default_workspace_gid_config_fetched: () -> untyped
4408
+ def expect_default_workspace_gid_config_fetched: () -> void
4378
4409
 
4379
- def test_default_workspace_gid: () -> untyped
4410
+ def test_default_workspace_gid: () -> void
4380
4411
 
4381
- def test_default_workspace: () -> untyped
4412
+ def test_default_workspace: () -> void
4382
4413
 
4383
- def class_under_test: () -> untyped
4414
+ def class_under_test: () -> void
4384
4415
  end
4385
4416
 
4386
4417
  class TestAttachments < ClassTest
4387
4418
  extend Forwardable
4388
4419
 
4389
- def mock_create_attachment_from_url: (untyped url) -> untyped
4420
+ def mock_create_attachment_from_url: (untyped url) -> void
4390
4421
 
4391
- def test_create_attachment_from_url: () -> untyped
4422
+ def test_create_attachment_from_url: () -> void
4392
4423
 
4393
- def class_under_test: () -> untyped
4424
+ def class_under_test: () -> void
4394
4425
 
4395
- def respond_like_instance_of: () -> untyped
4426
+ def respond_like_instance_of: () -> void
4396
4427
 
4397
- def respond_like: () -> untyped
4428
+ def respond_like: () -> void
4429
+
4430
+ # _@param_ `gid`
4431
+ #
4432
+ # _@param_ `url`
4433
+ def expect_run_on_attachment: (String gid, String url) -> Mocha::Mock
4434
+
4435
+ def capture_attachments_run: () -> String
4436
+
4437
+ def test_run: () -> void
4398
4438
  end
4399
4439
 
4400
4440
  # double to inject cache_method, pretending to be cache_method gem
4401
4441
  class Class
4402
- def cache_method: (untyped method_id, ?untyped _ttl) -> untyped
4442
+ def cache_method: (untyped method_id, ?untyped _ttl) -> void
4403
4443
  end
4404
4444
 
4405
4445
  # double to inject cache_method_clear, pretending to be cache_method gem
4406
4446
  module Kernel
4407
- def cache_method_clear: (untyped _method_id) -> untyped
4447
+ def cache_method_clear: (untyped _method_id) -> void
4408
4448
  end
4409
4449
 
4410
4450
  # Test the Checkoff::CLI class with quickadd subcommand
4411
4451
  class TestCLIQuickadd < Minitest::Test
4412
- def workspace_name: () -> untyped
4452
+ def workspace_name: () -> void
4413
4453
 
4414
- def expect_workspaces_created: () -> untyped
4454
+ def expect_workspaces_created: () -> void
4415
4455
 
4416
- def expect_config_loaded: () -> untyped
4456
+ def expect_config_loaded: () -> void
4417
4457
 
4418
- def expect_sections_created: () -> untyped
4458
+ def expect_sections_created: () -> void
4419
4459
 
4420
4460
  def expect_tasks_created: () -> untyped
4421
4461
 
4422
4462
  def set_mocks: () -> untyped
4423
4463
 
4424
- def get_test_object: () -> untyped
4464
+ def get_test_object: () -> void
4425
4465
 
4426
- def mock_quickadd: () -> untyped
4466
+ def mock_quickadd: () -> void
4427
4467
 
4428
- def test_quickadd: () -> untyped
4468
+ def test_quickadd: () -> void
4429
4469
  end
4430
4470
 
4431
4471
  class TestCustomFields < ClassTest
4432
4472
  extend Forwardable
4433
4473
 
4434
- def test_custom_field_or_raise_raises: () -> untyped
4474
+ def test_custom_field_or_raise_raises: () -> void
4435
4475
 
4436
- def test_custom_field_or_raise: () -> untyped
4476
+ def test_custom_field_or_raise: () -> void
4437
4477
 
4438
4478
  def expect_workspace_pulled: () -> untyped
4439
4479
 
4440
- def allow_custom_fields_named: () -> untyped
4480
+ def allow_custom_fields_named: () -> void
4441
4481
 
4442
- def expect_custom_fields_pulled: (untyped custom_field_arr) -> untyped
4482
+ def expect_custom_fields_pulled: (untyped custom_field_arr) -> void
4443
4483
 
4444
- def test_custom_field: () -> untyped
4484
+ def test_custom_field: () -> void
4445
4485
 
4446
- def class_under_test: () -> untyped
4486
+ def class_under_test: () -> void
4447
4487
  end
4448
4488
 
4449
4489
  # Test the Checkoff::MvSubcommand class used in CLI processing
4450
4490
  class TestMvSubcommand < ClassTest
4451
4491
  extend Forwardable
4452
4492
 
4453
- def argument_to_name: (untyped arg) -> untyped
4493
+ def argument_to_name: (untyped arg) -> void
4454
4494
 
4455
- def expect_project_pulled: (untyped workspace_name, untyped project_name, untyped project) -> untyped
4495
+ def expect_project_pulled: (untyped workspace_name, untyped project_name, untyped project) -> void
4456
4496
 
4457
4497
  def expect_section_pulled: (
4458
4498
  untyped workspace_name,
4459
4499
  untyped project_name,
4460
4500
  untyped section_name,
4461
4501
  untyped section
4462
- ) -> untyped
4502
+ ) -> void
4463
4503
 
4464
4504
  def expect_tasks_pulled: (
4465
4505
  untyped workspace_name,
4466
4506
  untyped project_name,
4467
4507
  untyped section_name,
4468
4508
  untyped tasks
4469
- ) -> untyped
4509
+ ) -> void
4470
4510
 
4471
- def expect_task_named: (untyped task, untyped task_name) -> untyped
4511
+ def expect_task_named: (untyped task, untyped task_name) -> void
4472
4512
 
4473
- def expect_section_named: (untyped section, untyped section_name) -> untyped
4513
+ def expect_section_named: (untyped section, untyped section_name) -> void
4474
4514
 
4475
- def expect_project_gid_pulled: (untyped project, untyped project_gid) -> untyped
4515
+ def expect_project_gid_pulled: (untyped project, untyped project_gid) -> void
4476
4516
 
4477
- def expect_section_gid_pulled: (untyped section, untyped section_gid) -> untyped
4517
+ def expect_section_gid_pulled: (untyped section, untyped section_gid) -> void
4478
4518
 
4479
- def expect_task_added_to_project: (untyped task, untyped project_gid, untyped section_gid) -> untyped
4519
+ def expect_task_added_to_project: (untyped task, untyped project_gid, untyped section_gid) -> void
4480
4520
 
4481
- def allow_logger_used: () -> untyped
4521
+ def allow_logger_used: () -> void
4482
4522
 
4483
- def set_initializer_arguments: () -> untyped
4523
+ def set_initializer_arguments: () -> void
4484
4524
 
4485
- def determine_to_workspace_name: (untyped from_workspace_arg, untyped to_workspace_arg) -> untyped
4525
+ def determine_to_workspace_name: (untyped from_workspace_arg, untyped to_workspace_arg) -> void
4486
4526
 
4487
- def determine_to_project_name: (untyped from_project_name, untyped to_project_arg) -> untyped
4527
+ def determine_to_project_name: (untyped from_project_name, untyped to_project_arg) -> void
4488
4528
 
4489
- def determine_to_section_name: (untyped from_section_name, untyped to_section_arg) -> untyped
4529
+ def determine_to_section_name: (untyped from_section_name, untyped to_section_arg) -> void
4490
4530
 
4491
- def expect_task_added_to_section: (untyped task, untyped task_name) -> untyped
4531
+ def expect_task_added_to_section: (untyped task, untyped task_name) -> void
4492
4532
 
4493
- def set_names: () -> untyped
4533
+ def set_names: () -> void
4494
4534
 
4495
- def expect_to_objects_pulled: () -> untyped
4535
+ def expect_to_objects_pulled: () -> void
4496
4536
 
4497
- def expect_run: () -> untyped
4537
+ def expect_run: () -> void
4498
4538
 
4499
- def mock_run_to_different_workspace: () -> untyped
4539
+ def mock_run_to_different_workspace: () -> void
4500
4540
 
4501
- def test_run_to_different_workspace: () -> untyped
4541
+ def test_run_to_different_workspace: () -> void
4502
4542
 
4503
- def mock_run_from_all_sections: () -> untyped
4543
+ def mock_run_from_all_sections: () -> void
4504
4544
 
4505
- def test_run_from_all_sections: () -> untyped
4545
+ def test_run_from_all_sections: () -> void
4506
4546
 
4507
- def mock_run_from_regular_project: () -> untyped
4547
+ def mock_run_from_regular_project: () -> void
4508
4548
 
4509
- def test_run_from_regular_project: () -> untyped
4549
+ def test_run_from_regular_project: () -> void
4510
4550
 
4511
- def mock_run_to_same_section_different_project: () -> untyped
4551
+ def mock_run_to_same_section_different_project: () -> void
4512
4552
 
4513
- def test_run_to_same_section_different_project: () -> untyped
4553
+ def test_run_to_same_section_different_project: () -> void
4514
4554
 
4515
- def mock_run_with_explicit_to_project: () -> untyped
4555
+ def mock_run_with_explicit_to_project: () -> void
4516
4556
 
4517
- def test_run_with_explicit_to_project: () -> untyped
4557
+ def test_run_with_explicit_to_project: () -> void
4518
4558
 
4519
- def mock_run_from_my_tasks: () -> untyped
4559
+ def mock_run_from_my_tasks: () -> void
4520
4560
 
4521
- def test_run_from_my_tasks: () -> untyped
4561
+ def test_run_from_my_tasks: () -> void
4522
4562
 
4523
- def mock_init_default_workspace_not_implemented: () -> untyped
4563
+ def mock_init_default_workspace_not_implemented: () -> void
4524
4564
 
4525
- def test_init_default_workspace_not_implemented: () -> untyped
4565
+ def test_init_default_workspace_not_implemented: () -> void
4526
4566
 
4527
- def test_init: () -> untyped
4567
+ def test_init: () -> void
4528
4568
 
4529
- def class_under_test: () -> untyped
4569
+ def class_under_test: () -> void
4530
4570
 
4531
4571
  # Returns the value of attribute from_workspace_arg.
4532
4572
  attr_reader from_workspace_arg: untyped
@@ -4568,39 +4608,46 @@ end
4568
4608
  class TestTaskSearches < ClassTest
4569
4609
  extend Forwardable
4570
4610
 
4571
- def expect_workspace_pulled: () -> untyped
4611
+ def expect_workspace_pulled: () -> void
4572
4612
 
4573
- def expect_workspace_gid_pulled: () -> untyped
4613
+ def expect_workspace_gid_pulled: () -> void
4574
4614
 
4575
- def expect_convert_params_called: () -> untyped
4615
+ def expect_convert_params_called: () -> void
4576
4616
 
4577
- def default_fields: () -> untyped
4617
+ def default_fields: () -> void
4578
4618
 
4579
4619
  def expect_client_get_called: () -> untyped
4580
4620
 
4581
- def expect_search_response_queried: () -> untyped
4621
+ def expect_search_response_queried: () -> void
4582
4622
 
4583
4623
  def expect_response_wrapped: (untyped response_array) -> untyped
4584
4624
 
4585
- def expect_tasks_filtered: () -> untyped
4625
+ def expect_tasks_filtered: () -> void
4586
4626
 
4587
- def expect_task_selector_queried: () -> untyped
4627
+ def expect_task_selector_queried: () -> void
4588
4628
 
4589
- def mock_task_search: () -> untyped
4629
+ def mock_task_search: () -> void
4590
4630
 
4591
- def projects: () -> untyped
4631
+ def projects: () -> void
4592
4632
 
4593
- def test_task_search: () -> untyped
4633
+ def test_task_search: () -> void
4594
4634
 
4595
- def mock_task_search_overloaded: () -> untyped
4635
+ def mock_task_search_overloaded: () -> void
4596
4636
 
4597
- def test_as_cache_key: () -> untyped
4637
+ def test_as_cache_key: () -> void
4598
4638
 
4599
- def class_under_test: () -> untyped
4639
+ def class_under_test: () -> void
4600
4640
 
4601
- def respond_like_instance_of: () -> untyped
4641
+ def respond_like_instance_of: () -> void
4602
4642
 
4603
- def respond_like: () -> untyped
4643
+ def respond_like: () -> void
4644
+
4645
+ def test_raw_task_search_without_selector: () -> void
4646
+
4647
+ # _@param_ `task_searches`
4648
+ def mock_full_page_raw_task_search: (Checkoff::TaskSearches task_searches) -> ::Array[untyped]
4649
+
4650
+ def test_raw_task_search_paginates_when_full_page: () -> void
4604
4651
  end
4605
4652
 
4606
4653
  # rubocop:disable Metrics/ClassLength
@@ -4636,43 +4683,43 @@ class TestTaskSelectors < ClassTest
4636
4683
 
4637
4684
  def test_filter_via_custom_field_value_custom_fields_not_provided: () -> void
4638
4685
 
4639
- def test_filter_via_custom_field_value_nil_none_found: () -> untyped
4686
+ def test_filter_via_custom_field_value_nil_none_found: () -> void
4640
4687
 
4641
4688
  def test_filter_via_custom_field_value_gid_nil_none_found: () -> void
4642
4689
 
4643
- def test_filter_via_task_selector_tag: () -> untyped
4690
+ def test_filter_via_task_selector_tag: () -> void
4644
4691
 
4645
4692
  def test_filter_via_task_selector_not: () -> void
4646
4693
 
4647
- def test_filter_via_task_selector_and: () -> untyped
4694
+ def test_filter_via_task_selector_and: () -> void
4648
4695
 
4649
- def test_filter_via_task_selector_or: () -> untyped
4696
+ def test_filter_via_task_selector_or: () -> void
4650
4697
 
4651
- def test_filter_via_task_selector_simple: () -> untyped
4698
+ def test_filter_via_task_selector_simple: () -> void
4652
4699
 
4653
- def test_filter_via_task_selector_ready: () -> untyped
4700
+ def test_filter_via_task_selector_ready: () -> void
4654
4701
 
4655
- def expect_now_jan_1_2019: () -> untyped
4702
+ def expect_now_jan_1_2019: () -> void
4656
4703
 
4657
- def expect_starts_jan_1_2019_midnight: () -> untyped
4704
+ def expect_starts_jan_1_2019_midnight: () -> void
4658
4705
 
4659
- def expect_no_incomplete_dependencies: () -> untyped
4706
+ def expect_no_incomplete_dependencies: () -> void
4660
4707
 
4661
4708
  def mock_filter_via_task_selector_ready_between_relative_starts_no: () -> untyped
4662
4709
 
4663
- def test_filter_via_task_selector_ready_between_relative_starts_now: () -> untyped
4710
+ def test_filter_via_task_selector_ready_between_relative_starts_now: () -> void
4664
4711
 
4665
- def mock_filter_via_task_selector_ready_between_relative_starts_today: () -> untyped
4712
+ def mock_filter_via_task_selector_ready_between_relative_starts_today: () -> void
4666
4713
 
4667
- def test_filter_via_task_selector_ready_between_relative_starts_today: () -> untyped
4714
+ def test_filter_via_task_selector_ready_between_relative_starts_today: () -> void
4668
4715
 
4669
- def mock_filter_via_task_selector_ready_between_relative_due_now: () -> untyped
4716
+ def mock_filter_via_task_selector_ready_between_relative_due_now: () -> void
4670
4717
 
4671
- def test_filter_via_task_selector_ready_between_relative_due_now: () -> untyped
4718
+ def test_filter_via_task_selector_ready_between_relative_due_now: () -> void
4672
4719
 
4673
4720
  def mock_due_on_jan_1_2019: () -> untyped
4674
4721
 
4675
- def expect_no_start: () -> untyped
4722
+ def expect_no_start: () -> void
4676
4723
 
4677
4724
  def mock_filter_via_task_selector_ready_between_relative_due_today: () -> untyped
4678
4725
 
@@ -4696,7 +4743,7 @@ class TestTaskSelectors < ClassTest
4696
4743
 
4697
4744
  def test_filter_via_task_selector_unassigned: () -> void
4698
4745
 
4699
- def test_filter_via_custom_field_gid_value_contains_all_gids: () -> untyped
4746
+ def test_filter_via_custom_field_gid_value_contains_all_gids: () -> void
4700
4747
 
4701
4748
  def test_filter_via_task_selector_due_date_set: () -> void
4702
4749
 
@@ -4736,7 +4783,7 @@ class TestTaskSelectors < ClassTest
4736
4783
 
4737
4784
  def test_filter_via_task_selector_field_greater_than_or_equal_to_n_days_from_today_due_on: () -> void
4738
4785
 
4739
- def mock_filter_via_task_selector_field_greater_than_or_equal_to_n_days_from_today_due_at: () -> untyped
4786
+ def mock_filter_via_task_selector_field_greater_than_or_equal_to_n_days_from_today_due_at: () -> void
4740
4787
 
4741
4788
  def test_filter_via_task_selector_field_greater_than_or_equal_to_n_days_from_today_due_at: () -> void
4742
4789
 
@@ -4768,33 +4815,49 @@ class TestTaskSelectors < ClassTest
4768
4815
 
4769
4816
  def test_in_portfolio_named_false: () -> untyped
4770
4817
 
4771
- def test_custom_field_gid_value_contains_any_gid_false_multi_enum: () -> untyped
4818
+ def test_custom_field_gid_value_contains_any_gid_false_multi_enum: () -> void
4772
4819
 
4773
- def test_last_task_milestone_does_not_depend_on_this_task: () -> untyped
4820
+ def test_last_task_milestone_does_not_depend_on_this_task: () -> void
4774
4821
 
4775
- def respond_like_instance_of: () -> untyped
4822
+ def respond_like_instance_of: () -> void
4776
4823
 
4777
- def respond_like: () -> untyped
4824
+ def respond_like: () -> void
4778
4825
 
4779
4826
  def class_under_test: () -> singleton(Checkoff::TaskSelectors)
4780
4827
 
4828
+ def test_in_a_real_project_true: () -> void
4829
+
4830
+ def test_in_a_real_project_false_only_my_tasks: () -> void
4831
+
4832
+ def test_section_name_starts_with_true: () -> void
4833
+
4834
+ def test_section_name_starts_with_false: () -> void
4835
+
4836
+ def test_in_section_named_true: () -> void
4837
+
4838
+ def test_in_section_named_false: () -> void
4839
+
4840
+ def test_in_portfolio_more_than_once_true: () -> void
4841
+
4842
+ def test_no_milestone_depends_on_this_task_true: () -> void
4843
+
4781
4844
  def test_filter_via_task_selector_in_section_named_false: () -> untyped
4782
4845
 
4783
4846
  def test_filter_via_task_selector_in_section_named_true: () -> untyped
4784
4847
  end
4785
4848
 
4786
4849
  class TestLogging < Minitest::Test
4787
- def test_logger_defaults_without_rails: () -> untyped
4850
+ def test_logger_defaults_without_rails: () -> void
4788
4851
 
4789
- def test_logger_uses_rails_logger_when_available: () -> untyped
4852
+ def test_logger_uses_rails_logger_when_available: () -> void
4790
4853
 
4791
- def test_logger_falls_back_when_rails_has_no_logger: () -> untyped
4854
+ def test_logger_falls_back_when_rails_has_no_logger: () -> void
4792
4855
 
4793
- def build_logger_owner: () -> untyped
4856
+ def build_logger_owner: () -> void
4794
4857
 
4795
- def with_removed_rails: () -> untyped
4858
+ def with_removed_rails: () -> void
4796
4859
 
4797
- def with_temporary_rails: (untyped rails_const) -> untyped
4860
+ def with_temporary_rails: (untyped rails_const) -> void
4798
4861
  end
4799
4862
 
4800
4863
  class TestProjectSelectors < ClassTest
@@ -4822,9 +4885,9 @@ class TestProjectSelectors < ClassTest
4822
4885
 
4823
4886
  def class_under_test: () -> singleton(Checkoff::ProjectSelectors)
4824
4887
 
4825
- def respond_like_instance_of: () -> untyped
4888
+ def respond_like_instance_of: () -> void
4826
4889
 
4827
- def respond_like: () -> untyped
4890
+ def respond_like: () -> void
4828
4891
  end
4829
4892
 
4830
4893
  class TestSectionSelectors < ClassTest
@@ -4836,9 +4899,9 @@ class TestSectionSelectors < ClassTest
4836
4899
 
4837
4900
  def expect_client_tasks_pulled: () -> void
4838
4901
 
4839
- def expect_section_gid_pulled: () -> untyped
4902
+ def expect_section_gid_pulled: () -> void
4840
4903
 
4841
- def mock_filter_via_ends_with_milestone_true: () -> untyped
4904
+ def mock_filter_via_ends_with_milestone_true: () -> void
4842
4905
 
4843
4906
  def test_filter_via_ends_with_milestone_true: () -> void
4844
4907
 
@@ -4856,32 +4919,32 @@ class TestTaskHashes < ClassTest
4856
4919
  TASK_B_RAW_HASH: untyped
4857
4920
  TASK_B_HASH: untyped
4858
4921
 
4859
- def test_task_a_to_h: () -> untyped
4922
+ def test_task_a_to_h: () -> void
4860
4923
 
4861
- def test_task_b_to_h: () -> untyped
4924
+ def test_task_b_to_h: () -> void
4862
4925
 
4863
- def class_under_test: () -> untyped
4926
+ def class_under_test: () -> void
4864
4927
  end
4865
4928
 
4866
4929
  class TestTaskTiming < ClassTest
4867
- def test_date_or_time_field_by_name_raises_if_unknown_field: () -> untyped
4930
+ def test_date_or_time_field_by_name_raises_if_unknown_field: () -> void
4868
4931
 
4869
- def class_under_test: () -> untyped
4932
+ def class_under_test: () -> void
4870
4933
 
4871
- def respond_like_instance_of: () -> untyped
4934
+ def respond_like_instance_of: () -> void
4872
4935
 
4873
- def respond_like: () -> untyped
4936
+ def respond_like: () -> void
4874
4937
  end
4875
4938
 
4876
4939
  # Test the Checkoff::Internal::ConfigLoader class
4877
4940
  class TestConfigLoader < Minitest::Test
4878
- def mock_yaml_loaded: () -> untyped
4941
+ def mock_yaml_loaded: () -> void
4879
4942
 
4880
- def test_requests_from_env_variable_neither_populated: () -> untyped
4943
+ def test_requests_from_env_variable_neither_populated: () -> void
4881
4944
 
4882
- def test_requests_from_env_variable_if_yaml_not_populated: () -> untyped
4945
+ def test_requests_from_env_variable_if_yaml_not_populated: () -> void
4883
4946
 
4884
- def test_defers_to_yaml: () -> untyped
4947
+ def test_defers_to_yaml: () -> void
4885
4948
  end
4886
4949
 
4887
4950
  class TestProjectHashes < ClassTest
@@ -4890,41 +4953,41 @@ class TestProjectHashes < ClassTest
4890
4953
  PROJECT_B_RAW_HASH: untyped
4891
4954
  PROJECT_B_HASH: untyped
4892
4955
 
4893
- def test_project_a_to_h: () -> untyped
4956
+ def test_project_a_to_h: () -> void
4894
4957
 
4895
- def test_project_b_to_h: () -> untyped
4958
+ def test_project_b_to_h: () -> void
4896
4959
 
4897
- def test_project_b_to_h_named: () -> untyped
4960
+ def test_project_b_to_h_named: () -> void
4898
4961
 
4899
- def class_under_test: () -> untyped
4962
+ def class_under_test: () -> void
4900
4963
  end
4901
4964
 
4902
4965
  class TestProjectTiming < ClassTest
4903
4966
  extend Forwardable
4904
4967
 
4905
- def test_date_or_time_field_by_name_due: () -> untyped
4968
+ def test_date_or_time_field_by_name_due: () -> void
4906
4969
 
4907
- def test_date_or_time_field_by_name_due_nil: () -> untyped
4970
+ def test_date_or_time_field_by_name_due_nil: () -> void
4908
4971
 
4909
4972
  def test_date_or_time_field_by_name_start: () -> untyped
4910
4973
 
4911
- def test_date_or_time_field_by_name_start_nil: () -> untyped
4974
+ def test_date_or_time_field_by_name_start_nil: () -> void
4912
4975
 
4913
- def test_date_or_time_field_by_name_ready: () -> untyped
4976
+ def test_date_or_time_field_by_name_ready: () -> void
4914
4977
 
4915
- def test_date_or_time_field_by_name_custom_field: () -> untyped
4978
+ def test_date_or_time_field_by_name_custom_field: () -> void
4916
4979
 
4917
- def test_date_or_time_field_by_name_custom_field_nil: () -> untyped
4980
+ def test_date_or_time_field_by_name_custom_field_nil: () -> void
4918
4981
 
4919
- def test_date_or_time_field_by_name_raises_if_unknown_field: () -> untyped
4982
+ def test_date_or_time_field_by_name_raises_if_unknown_field: () -> void
4920
4983
 
4921
- def test_date_or_time_field_by_name_raises_if_unknown_array_field: () -> untyped
4984
+ def test_date_or_time_field_by_name_raises_if_unknown_array_field: () -> void
4922
4985
 
4923
- def class_under_test: () -> untyped
4986
+ def class_under_test: () -> void
4924
4987
 
4925
- def respond_like_instance_of: () -> untyped
4988
+ def respond_like_instance_of: () -> void
4926
4989
 
4927
- def respond_like: () -> untyped
4990
+ def respond_like: () -> void
4928
4991
  end
4929
4992
 
4930
4993
  # rubocop:disable Metrics/ClassLength
@@ -5028,6 +5091,11 @@ class TestSearchUrlParser < ClassTest
5028
5091
  def test_convert_params_48: () -> void
5029
5092
 
5030
5093
  def class_under_test: () -> singleton(Checkoff::Internal::SearchUrl::Parser)
5094
+
5095
+ # Ruby 3.4+ Hash#inspect inserts spaces around =>; normalize for assertions.
5096
+ #
5097
+ # _@param_ `message`
5098
+ def normalize_error_message: (String message) -> String
5031
5099
  end
5032
5100
 
5033
5101
  class TestAsanaEventFilter < ClassTest
@@ -5038,33 +5106,58 @@ class TestAsanaEventFilter < ClassTest
5038
5106
  TASK_COMPLETED_EVENT: untyped
5039
5107
  TASK_COMPLETED_EVENT_2: untyped
5040
5108
 
5041
- def test_matches_nil_filters_true: () -> untyped
5109
+ def test_matches_nil_filters_true: () -> void
5042
5110
 
5043
- def test_matches_zero_filters_false: () -> untyped
5111
+ def test_matches_zero_filters_false: () -> void
5044
5112
 
5045
- def test_matches_on_resource_type_true: () -> untyped
5113
+ def test_matches_on_resource_type_true: () -> void
5046
5114
 
5047
- def test_matches_on_resource_subtype_true: () -> untyped
5115
+ def test_matches_on_resource_subtype_true: () -> void
5048
5116
 
5049
- def test_matches_on_action_true: () -> untyped
5117
+ def test_matches_on_action_true: () -> void
5050
5118
 
5051
5119
  def test_matches_on_action_false: () -> untyped
5052
5120
 
5053
- def test_fetched_section_gid: () -> untyped
5121
+ def test_fetched_section_gid: () -> void
5122
+
5123
+ def test_matches_on_fields_true: () -> void
5124
+
5125
+ def expect_task_fetched: (untyped gid, untyped fields, untyped task_obj) -> void
5126
+
5127
+ def test_task_completed_event_true: () -> void
5128
+
5129
+ def test_matches_on_parent_gid_true: () -> void
5130
+
5131
+ def test_matches_on_bad_key_raises: () -> void
5132
+
5133
+ def class_under_test: () -> void
5134
+
5135
+ def respond_like_instance_of: () -> void
5136
+
5137
+ def respond_like: () -> void
5138
+ end
5139
+
5140
+ # Test the Checkoff::ViewSubcommand class used in CLI processing
5141
+ class TestViewSubcommand < ClassTest
5142
+ extend Forwardable
5143
+
5144
+ def task_name: () -> String
5145
+
5146
+ def due_at_value: () -> String
5054
5147
 
5055
- def test_matches_on_fields_true: () -> untyped
5148
+ def expect_task_lookup: () -> void
5056
5149
 
5057
- def expect_task_fetched: (untyped gid, untyped fields, untyped task_obj) -> untyped
5150
+ def stub_task_due_fields: () -> void
5058
5151
 
5059
- def test_task_completed_event_true: () -> untyped
5152
+ def test_run_on_task: () -> void
5060
5153
 
5061
- def test_matches_on_parent_gid_true: () -> untyped
5154
+ def test_run_on_task_not_found: () -> void
5062
5155
 
5063
- def test_matches_on_bad_key_raises: () -> untyped
5156
+ def create_object: (?untyped clazz) -> Checkoff::ViewSubcommand
5064
5157
 
5065
- def class_under_test: () -> untyped
5158
+ def class_under_test: () -> singleton(Checkoff::ViewSubcommand)
5066
5159
 
5067
- def respond_like_instance_of: () -> untyped
5160
+ def respond_like_instance_of: () -> void
5068
5161
 
5069
- def respond_like: () -> untyped
5162
+ def respond_like: () -> void
5070
5163
  end