checkoff 0.263.0 → 0.265.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9b0fafee24a2063ac771b051c34202a22d980cb4bd66c3b3b6a7b24ee685494e
4
- data.tar.gz: 03bd1b30e04f15013e52bcaa87e5d7da234167e71057e439aa702d7444e129b6
3
+ metadata.gz: 43afa4bb02fd82f7f199254d12c4f489377a9cd527b2ca5e38a94e5b845e6055
4
+ data.tar.gz: a796db5e7e98d6f73b051475a4c2f891ca648f8179b973bcd1be935f0fc990f0
5
5
  SHA512:
6
- metadata.gz: d599f765f9800f1c17c6988d3eb07295e9a1cbc4b166cd984e9a6b20d00fce292bccf6a7945c6579fa2a05cc7ef3aa94d7d2d9ca09271735f43edfab1976002b
7
- data.tar.gz: 3f382e195830561b4888714d4965fd501134f9b04447fb6aedb264cc171fce37dcbb016bc42f48d2b28af12bc2ffa494de0125de6b4483328b037de70051958a
6
+ metadata.gz: 0127c901a6b621d61251c5052f694e65913911f2f87b9a96b25cdf8c88b0dcd46d38a5aa20fea4a94c73a54b3f82807dd9ae9e480ccf1fcd1ace550e47051d69
7
+ data.tar.gz: fc574a52669db73bd063fa97b6e3fd33a1c4b5e379ebcc901328b10f2be0e3a00ae1c9301fa6d409b0e2ce76c044e52f0fe38b16611f935285ca226e6b5050b8
@@ -16,7 +16,7 @@ module Checkoff
16
16
  f.merge(*r)
17
17
  end
18
18
 
19
- # @param task_selectors [Array<Symbol, Array>]
19
+ # @param task_selectors [Array<Array<Symbol, Array>>]
20
20
  # @return [Symbol, Array, Array(Symbol, Array, Array)]
21
21
  def self.merge_task_selectors(*task_selectors)
22
22
  return [] if task_selectors.empty?
@@ -4,5 +4,5 @@
4
4
  # Command-line and gem client for Asana (unofficial)
5
5
  module Checkoff
6
6
  # Version of library
7
- VERSION = '0.263.0'
7
+ VERSION = '0.265.0'
8
8
  end
data/rbi/checkoff.rbi CHANGED
@@ -82,7 +82,7 @@ module Overcommit
82
82
  end
83
83
 
84
84
  module Checkoff
85
- VERSION = '0.263.0'
85
+ VERSION = '0.265.0'
86
86
 
87
87
  class Attachments
88
88
  include Logging
@@ -2485,7 +2485,7 @@ end
2485
2485
  # typed: ignore
2486
2486
  # Command-line and gem client for Asana (unofficial)
2487
2487
  module Checkoff
2488
- VERSION = T.let('0.263.0', T.untyped)
2488
+ VERSION = T.let('0.265.0', T.untyped)
2489
2489
 
2490
2490
  # Move tasks from one place to another
2491
2491
  class MvSubcommand
@@ -3367,7 +3367,7 @@ module Checkoff
3367
3367
  # _@param_ `period_name`
3368
3368
  #
3369
3369
  # _@param_ `args`
3370
- sig { params(date_or_time: T.nilable(T.any(Date, Time)), period_name: Symbol, args: T::Array[Object]).returns(T::Boolean) }
3370
+ sig { params(date_or_time: T.nilable(T.any(Date, Time)), period_name: Symbol, args: Object).returns(T::Boolean) }
3371
3371
  def compound_in_period?(date_or_time, period_name, *args); end
3372
3372
 
3373
3373
  sig { void }
@@ -4080,6 +4080,12 @@ module Checkoff
4080
4080
  sig { params(gid: String, resource_type: T.nilable(String)).returns([T.untyped, T.untyped, T.untyped, T.untyped]) }
4081
4081
  def resource_by_gid(gid, resource_type: nil); end
4082
4082
 
4083
+ # _@param_ `resource_type`
4084
+ #
4085
+ # _@param_ `gid`
4086
+ sig { params(resource_type: String, gid: String).returns(T.nilable(Asana::Resources::Resource)) }
4087
+ def fetch_gid_by_type(resource_type, gid); end
4088
+
4083
4089
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
4084
4090
  # _@param_ `gid`
4085
4091
  sig { params(gid: String).returns(T.nilable(Asana::Resources::Task)) }
@@ -4098,12 +4104,6 @@ module Checkoff
4098
4104
  sig { void }
4099
4105
  def self.run; end
4100
4106
 
4101
- # _@param_ `resource_type`
4102
- #
4103
- # _@param_ `gid`
4104
- sig { params(resource_type: String, gid: String).returns(T.nilable(Asana::Resources::Resource)) }
4105
- def fetch_gid_by_type(resource_type, gid); end
4106
-
4107
4107
  sig { returns(Checkoff::Workspaces) }
4108
4108
  attr_reader :workspaces
4109
4109
 
@@ -4795,22 +4795,22 @@ module Checkoff
4795
4795
  sig { params(task: Asana::Resources::Task, task_selector: T.any(Symbol, T::Array[T.any(Symbol, String, Integer, T::Array[T.untyped])])).returns(T::Boolean) }
4796
4796
  def filter_via_task_selector(task, task_selector); end
4797
4797
 
4798
+ sig { returns([Symbol, T::Array[T.untyped]]) }
4799
+ def self.task_selector; end
4800
+
4801
+ # _@param_ `parsed` — result of JSON.parse on a task selector
4802
+ sig { params(parsed: Object).returns([String, T::Array[T.untyped]]) }
4803
+ def self.validate_task_selector(parsed); end
4804
+
4798
4805
  sig { returns(String) }
4799
4806
  def self.project_name; end
4800
4807
 
4801
4808
  sig { returns(String) }
4802
4809
  def self.workspace_name; end
4803
4810
 
4804
- sig { returns([Symbol, T::Array[T.untyped]]) }
4805
- def self.task_selector; end
4806
-
4807
4811
  sig { void }
4808
4812
  def self.run; end
4809
4813
 
4810
- # _@param_ `parsed` — result of JSON.parse on a task selector
4811
- sig { params(parsed: Object).returns([String, T::Array[T.untyped]]) }
4812
- def self.validate_task_selector(parsed); end
4813
-
4814
4814
  sig { returns(Checkoff::Tasks) }
4815
4815
  attr_reader :tasks
4816
4816
 
@@ -4968,6 +4968,10 @@ module Checkoff
4968
4968
  sig { params(task_hash: T::Hash[String, T.any(String, T::Hash[T.untyped, T.untyped], T::Array[T.untyped])], memberships: T::Array[T::Hash[T.untyped, T.untyped]]).void }
4969
4969
  def add_user_task_list(task_hash, memberships); end
4970
4970
 
4971
+ # _@param_ `task_hash`
4972
+ sig { params(task_hash: T::Hash[String, T.any(String, T::Hash[T.untyped, T.untyped], T::Array[T.untyped])]).returns(T::Hash[String, Object]) }
4973
+ def assignee_hash(task_hash); end
4974
+
4971
4975
  # _@param_ `task_hash`
4972
4976
  #
4973
4977
  # _@param_ `resource`
@@ -4988,10 +4992,6 @@ module Checkoff
4988
4992
  # _@param_ `task_hash`
4989
4993
  sig { params(task_hash: T::Hash[String, Object]).void }
4990
4994
  def unwrap_all_memberships(task_hash); end
4991
-
4992
- # _@param_ `task_hash`
4993
- sig { params(task_hash: T::Hash[String, T.any(String, T::Hash[T.untyped, T.untyped], T::Array[T.untyped])]).returns(T::Hash[String, Object]) }
4994
- def assignee_hash(task_hash); end
4995
4995
  end
4996
4996
 
4997
4997
  # Utility methods for working with task dates and times
@@ -5056,12 +5056,10 @@ module Checkoff
5056
5056
 
5057
5057
  # Manage thread lock variables in a block
5058
5058
  class ThreadLocal
5059
- # sord warn - T wasn't able to be resolved to a constant in this project
5060
- # sord warn - T wasn't able to be resolved to a constant in this project
5061
5059
  # _@param_ `name`
5062
5060
  #
5063
5061
  # _@param_ `value`
5064
- sig { params(name: Symbol, value: T.any(Object, T::Boolean), block: T.proc.returns(T)).returns(T) }
5062
+ sig { type_parameters(:T).params(name: Symbol, value: T.any(Object, T::Boolean), block: T.proc.returns(T.type_parameter(:T))).returns(T.type_parameter(:T)) }
5065
5063
  def with_thread_local_variable(name, value, &block); end
5066
5064
  end
5067
5065
 
@@ -5205,7 +5203,7 @@ module Checkoff
5205
5203
  # Merge task selectors and search API arguments
5206
5204
  class ResultsMerger
5207
5205
  # _@param_ `args`
5208
- sig { params(args: T::Array[T::Hash[String, String]]).returns(T::Hash[String, String]) }
5206
+ sig { params(args: T::Hash[String, String]).returns(T::Hash[String, String]) }
5209
5207
  def self.merge_args(*args); end
5210
5208
 
5211
5209
  # _@param_ `task_selectors`
@@ -5223,6 +5221,10 @@ module Checkoff
5223
5221
  sig { params(gid: String, remaining_params: T::Hash[String, T::Array[String]]).void }
5224
5222
  def initialize(gid, remaining_params); end
5225
5223
 
5224
+ # Implemented by every subclass.
5225
+ sig { returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
5226
+ def convert; end
5227
+
5226
5228
  sig { void }
5227
5229
  def ensure_no_remaining_params!; end
5228
5230
 
@@ -5230,10 +5232,6 @@ module Checkoff
5230
5232
  sig { params(param_name: String).returns(String) }
5231
5233
  def fetch_solo_param(param_name); end
5232
5234
 
5233
- # Implemented by every subclass.
5234
- sig { returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
5235
- def convert; end
5236
-
5237
5235
  sig { returns(String) }
5238
5236
  attr_reader :gid
5239
5237
 
@@ -5328,6 +5326,10 @@ module Checkoff
5328
5326
  sig { returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
5329
5327
  def convert; end
5330
5328
 
5329
+ # _@param_ `out`
5330
+ sig { params(out: T.nilable([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]])).returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
5331
+ def ensure_matched!(out); end
5332
+
5331
5333
  # _@param_ `prefix`
5332
5334
  sig { params(prefix: String).returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
5333
5335
  def convert_for_prefix(prefix); end
@@ -5368,10 +5370,6 @@ module Checkoff
5368
5370
  sig { params(prefix: String).void }
5369
5371
  def validate_unit_is_day!(prefix); end
5370
5372
 
5371
- # _@param_ `out`
5372
- sig { params(out: T.nilable([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]])).returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
5373
- def ensure_matched!(out); end
5374
-
5375
5373
  sig { returns(T::Hash[String, T::Array[String]]) }
5376
5374
  attr_reader :date_url_params
5377
5375
  end
@@ -5392,6 +5390,9 @@ module Checkoff
5392
5390
  sig { returns(String) }
5393
5391
  def single_value; end
5394
5392
 
5393
+ sig { returns(T::Array[String]) }
5394
+ def convert; end
5395
+
5395
5396
  # Inputs:
5396
5397
  # 123_column_456 means "abc" project, "def" section
5397
5398
  # 123 means "abc" project
@@ -5407,9 +5408,6 @@ module Checkoff
5407
5408
  sig { params(verb: String).returns(T::Array[String]) }
5408
5409
  def convert_from_projects_and_sections(verb); end
5409
5410
 
5410
- sig { returns(T::Array[String]) }
5411
- def convert; end
5412
-
5413
5411
  sig { returns(String) }
5414
5412
  attr_reader :key
5415
5413
 
@@ -6008,11 +6006,6 @@ module Checkoff
6008
6006
  # _@param_ `excluding_resource_subtypes`
6009
6007
  sig { params(task: Asana::Resources::Task, num_days: Integer, excluding_resource_subtypes: T::Array[String]).returns(T::Boolean) }
6010
6008
  def evaluate(task, num_days, excluding_resource_subtypes); end
6011
-
6012
- # sord warn - Asana::Resources::Story wasn't able to be resolved to a constant in this project
6013
- # _@param_ `story`
6014
- sig { params(story: Asana::Resources::Story).returns(Time) }
6015
- def created_at_for(story); end
6016
6009
  end
6017
6010
 
6018
6011
  # :estimate_exceeds_duration?
@@ -6132,7 +6125,7 @@ module Checkoff
6132
6125
  tasks: Checkoff::Tasks,
6133
6126
  timelines: Checkoff::Timelines,
6134
6127
  custom_fields: Checkoff::CustomFields,
6135
- _kwargs: T::Hash[T.untyped, T.untyped]
6128
+ _kwargs: T.untyped
6136
6129
  ).void
6137
6130
  end
6138
6131
  def initialize(selector:, tasks:, timelines:, custom_fields:, **_kwargs); end
@@ -6164,7 +6157,7 @@ module Checkoff
6164
6157
  # _@param_ `_resource`
6165
6158
  #
6166
6159
  # _@param_ `args`
6167
- sig { params(_resource: T.any(Asana::Resources::Task, Asana::Resources::Project), args: T::Array[Object]).returns(T::Boolean) }
6160
+ sig { params(_resource: T.any(Asana::Resources::Task, Asana::Resources::Project), args: Object).returns(T::Boolean) }
6168
6161
  def evaluate(_resource, *args); end
6169
6162
  end
6170
6163
 
@@ -6183,7 +6176,7 @@ module Checkoff
6183
6176
  # _@param_ `_resource`
6184
6177
  #
6185
6178
  # _@param_ `args`
6186
- sig { params(_resource: T.any(Asana::Resources::Task, Asana::Resources::Project), args: T::Array[Object]).returns(T::Boolean) }
6179
+ sig { params(_resource: T.any(Asana::Resources::Task, Asana::Resources::Project), args: Object).returns(T::Boolean) }
6187
6180
  def evaluate(_resource, *args); end
6188
6181
  end
6189
6182
 
@@ -6375,14 +6368,14 @@ module Checkoff
6375
6368
  # _@param_ `custom_fields`
6376
6369
  #
6377
6370
  # _@param_ `_kwargs`
6378
- sig { params(selector: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol), custom_fields: Checkoff::CustomFields, _kwargs: T::Hash[T.untyped, T.untyped]).void }
6371
+ sig { params(selector: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol), custom_fields: Checkoff::CustomFields, _kwargs: T.untyped).void }
6379
6372
  def initialize(selector:, custom_fields:, **_kwargs); end
6380
6373
 
6381
- sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
6382
- attr_reader :selector
6383
-
6384
6374
  sig { returns(Checkoff::CustomFields) }
6385
6375
  attr_reader :custom_fields
6376
+
6377
+ sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
6378
+ attr_reader :selector
6386
6379
  end
6387
6380
  end
6388
6381
 
@@ -6459,14 +6452,11 @@ module Checkoff
6459
6452
  projects: Checkoff::Projects,
6460
6453
  portfolios: Checkoff::Portfolios,
6461
6454
  workspaces: Checkoff::Workspaces,
6462
- _kwargs: T::Hash[T.untyped, T.untyped]
6455
+ _kwargs: T.untyped
6463
6456
  ).void
6464
6457
  end
6465
6458
  def initialize(selector:, projects:, portfolios:, workspaces:, **_kwargs); end
6466
6459
 
6467
- sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
6468
- attr_reader :selector
6469
-
6470
6460
  sig { returns(Checkoff::Projects) }
6471
6461
  attr_reader :projects
6472
6462
 
@@ -6475,6 +6465,9 @@ module Checkoff
6475
6465
 
6476
6466
  sig { returns(Checkoff::Workspaces) }
6477
6467
  attr_reader :workspaces
6468
+
6469
+ sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
6470
+ attr_reader :selector
6478
6471
  end
6479
6472
  end
6480
6473
 
@@ -6521,20 +6514,20 @@ module Checkoff
6521
6514
  selector: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol),
6522
6515
  sections: Checkoff::Sections,
6523
6516
  client: Asana::Client,
6524
- kwargs: T::Hash[T.untyped, T.untyped]
6517
+ kwargs: T.untyped
6525
6518
  ).void
6526
6519
  end
6527
6520
  def initialize(selector:, sections:, client:, **kwargs); end
6528
6521
 
6529
- sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
6530
- attr_reader :selector
6522
+ sig { returns(Checkoff::Sections) }
6523
+ attr_reader :sections
6531
6524
 
6532
6525
  # sord warn - Asana::Client wasn't able to be resolved to a constant in this project
6533
6526
  sig { returns(Asana::Client) }
6534
6527
  attr_reader :client
6535
6528
 
6536
- sig { returns(Checkoff::Sections) }
6537
- attr_reader :sections
6529
+ sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
6530
+ attr_reader :selector
6538
6531
  end
6539
6532
  end
6540
6533
 
@@ -6542,6 +6535,20 @@ module Checkoff
6542
6535
  class FunctionEvaluator
6543
6536
  include Logging
6544
6537
 
6538
+ # Concrete subclasses each declare their own initialize with their
6539
+ # specific keyword args (and set @selector themselves before calling
6540
+ # super()); this signature exists only so Solargraph can resolve
6541
+ # `evaluator_class.new(selector:, **kwargs)` call sites that hold a
6542
+ # `Class<FunctionEvaluator>` reference rather than a concrete subclass -
6543
+ # deliberately a no-op so a bare `super()` call from those subclasses
6544
+ # can't clobber the @selector they already set.
6545
+ #
6546
+ # _@param_ `selector`
6547
+ #
6548
+ # _@param_ `_kwargs`
6549
+ sig { params(selector: T.nilable(T.any(Symbol, T::Array[T.untyped], String)), _kwargs: T.untyped).void }
6550
+ def initialize(selector: nil, **_kwargs); end
6551
+
6545
6552
  # _@param_ `_index`
6546
6553
  sig { params(_index: Integer).returns(T::Boolean) }
6547
6554
  def evaluate_arg?(_index); end
@@ -6553,7 +6560,7 @@ module Checkoff
6553
6560
  # _@param_ `_task`
6554
6561
  #
6555
6562
  # _@param_ `_args`
6556
- sig { params(_task: Asana::Resources::Task, _args: T::Array[Object]).returns(Object) }
6563
+ sig { params(_task: Asana::Resources::Task, _args: Object).returns(Object) }
6557
6564
  def evaluate(_task, *_args); end
6558
6565
 
6559
6566
  # _@param_ `object`
@@ -6562,20 +6569,6 @@ module Checkoff
6562
6569
  sig { params(object: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol), fn_name: Symbol).returns(T::Boolean) }
6563
6570
  def fn?(object, fn_name); end
6564
6571
 
6565
- # Concrete subclasses each declare their own initialize with their
6566
- # specific keyword args (and set @selector themselves before calling
6567
- # super()); this signature exists only so Solargraph can resolve
6568
- # `evaluator_class.new(selector:, **kwargs)` call sites that hold a
6569
- # `Class<FunctionEvaluator>` reference rather than a concrete subclass -
6570
- # deliberately a no-op so a bare `super()` call from those subclasses
6571
- # can't clobber the @selector they already set.
6572
- #
6573
- # _@param_ `selector`
6574
- #
6575
- # _@param_ `_kwargs`
6576
- sig { params(selector: T.nilable(T.any(Symbol, T::Array[T.untyped], String)), _kwargs: T::Hash[T.untyped, T.untyped]).void }
6577
- def initialize(selector: nil, **_kwargs); end
6578
-
6579
6572
  sig { returns(::Logger) }
6580
6573
  def logger; end
6581
6574
 
@@ -6736,7 +6729,7 @@ end - [Checkoff::SelectorClasses::Section::FunctionEvaluator]).freeze, T.untyped
6736
6729
  projects: Checkoff::Projects,
6737
6730
  sections: Checkoff::Sections,
6738
6731
  custom_fields: Checkoff::CustomFields,
6739
- _kwargs: T::Hash[T.untyped, T.untyped]
6732
+ _kwargs: T.untyped
6740
6733
  ).void
6741
6734
  end
6742
6735
  def initialize(section:, client:, projects: Checkoff::Projects.new(client:), sections: Checkoff::Sections.new(client:), custom_fields: Checkoff::CustomFields.new(client:), **_kwargs); end
data/sig/checkoff.rbs CHANGED
@@ -734,7 +734,7 @@ module Checkoff
734
734
  # _@param_ `period_name`
735
735
  #
736
736
  # _@param_ `args`
737
- def compound_in_period?: ((Date | Time)? date_or_time, Symbol period_name, *::Array[Object] args) -> bool
737
+ def compound_in_period?: ((Date | Time)? date_or_time, Symbol period_name, *Object args) -> bool
738
738
 
739
739
  def self.run: () -> void
740
740
 
@@ -1341,6 +1341,11 @@ module Checkoff
1341
1341
  # _@param_ `resource_type`
1342
1342
  def resource_by_gid: (String gid, ?resource_type: String?) -> [untyped, untyped, untyped, untyped]
1343
1343
 
1344
+ # _@param_ `resource_type`
1345
+ #
1346
+ # _@param_ `gid`
1347
+ def fetch_gid_by_type: (String resource_type, String gid) -> Asana::Resources::Resource?
1348
+
1344
1349
  # sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
1345
1350
  # _@param_ `gid`
1346
1351
  def fetch_task_gid: (String gid) -> Asana::Resources::Task?
@@ -1355,11 +1360,6 @@ module Checkoff
1355
1360
 
1356
1361
  def self.run: () -> void
1357
1362
 
1358
- # _@param_ `resource_type`
1359
- #
1360
- # _@param_ `gid`
1361
- def fetch_gid_by_type: (String resource_type, String gid) -> Asana::Resources::Resource?
1362
-
1363
1363
  attr_reader workspaces: Checkoff::Workspaces
1364
1364
 
1365
1365
  attr_reader projects: Checkoff::Projects
@@ -1947,17 +1947,17 @@ module Checkoff
1947
1947
  # _@param_ `task_selector` — Filter based on task details. Examples: [:tag, 'foo'] [:not, [:tag, 'foo']] [:tag, 'foo']
1948
1948
  def filter_via_task_selector: (Asana::Resources::Task task, (Symbol | ::Array[(Symbol | String | Integer | ::Array[untyped])]) task_selector) -> bool
1949
1949
 
1950
+ def self.task_selector: () -> [Symbol, ::Array[untyped]]
1951
+
1952
+ # _@param_ `parsed` — result of JSON.parse on a task selector
1953
+ def self.validate_task_selector: (Object parsed) -> [String, ::Array[untyped]]
1954
+
1950
1955
  def self.project_name: () -> String
1951
1956
 
1952
1957
  def self.workspace_name: () -> String
1953
1958
 
1954
- def self.task_selector: () -> [Symbol, ::Array[untyped]]
1955
-
1956
1959
  def self.run: () -> void
1957
1960
 
1958
- # _@param_ `parsed` — result of JSON.parse on a task selector
1959
- def self.validate_task_selector: (Object parsed) -> [String, ::Array[untyped]]
1960
-
1961
1961
  attr_reader tasks: Checkoff::Tasks
1962
1962
 
1963
1963
  attr_reader timelines: Checkoff::Timelines
@@ -2089,6 +2089,9 @@ module Checkoff
2089
2089
  # _@param_ `memberships`
2090
2090
  def add_user_task_list: (::Hash[String, (String | ::Hash[untyped, untyped] | ::Array[untyped])] task_hash, ::Array[::Hash[untyped, untyped]] memberships) -> void
2091
2091
 
2092
+ # _@param_ `task_hash`
2093
+ def assignee_hash: (::Hash[String, (String | ::Hash[untyped, untyped] | ::Array[untyped])] task_hash) -> ::Hash[String, Object]
2094
+
2092
2095
  # _@param_ `task_hash`
2093
2096
  #
2094
2097
  # _@param_ `resource`
@@ -2105,9 +2108,6 @@ module Checkoff
2105
2108
 
2106
2109
  # _@param_ `task_hash`
2107
2110
  def unwrap_all_memberships: (::Hash[String, Object] task_hash) -> void
2108
-
2109
- # _@param_ `task_hash`
2110
- def assignee_hash: (::Hash[String, (String | ::Hash[untyped, untyped] | ::Array[untyped])] task_hash) -> ::Hash[String, Object]
2111
2111
  end
2112
2112
 
2113
2113
  # Utility methods for working with task dates and times
@@ -2162,12 +2162,10 @@ module Checkoff
2162
2162
 
2163
2163
  # Manage thread lock variables in a block
2164
2164
  class ThreadLocal
2165
- # sord warn - T wasn't able to be resolved to a constant in this project
2166
- # sord warn - T wasn't able to be resolved to a constant in this project
2167
2165
  # _@param_ `name`
2168
2166
  #
2169
2167
  # _@param_ `value`
2170
- def with_thread_local_variable: (Symbol name, (Object | bool) value) ?{ () -> T } -> T
2168
+ def with_thread_local_variable: [T] (Symbol name, (Object | bool) value) ?{ () -> T } -> T
2171
2169
  end
2172
2170
 
2173
2171
  # Use the provided config from a YAML file, and fall back to env
@@ -2287,7 +2285,7 @@ module Checkoff
2287
2285
  # Merge task selectors and search API arguments
2288
2286
  class ResultsMerger
2289
2287
  # _@param_ `args`
2290
- def self.merge_args: (*::Array[::Hash[String, String]] args) -> ::Hash[String, String]
2288
+ def self.merge_args: (*::Hash[String, String] args) -> ::Hash[String, String]
2291
2289
 
2292
2290
  # _@param_ `task_selectors`
2293
2291
  def self.merge_task_selectors: (*::Array[(Symbol | ::Array[untyped])] task_selectors) -> (Symbol | ::Array[untyped] | [Symbol, ::Array[untyped], ::Array[untyped]])
@@ -2302,14 +2300,14 @@ module Checkoff
2302
2300
  # _@param_ `remaining_params`
2303
2301
  def initialize: (String gid, ::Hash[String, ::Array[String]] remaining_params) -> void
2304
2302
 
2303
+ # Implemented by every subclass.
2304
+ def convert: () -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
2305
+
2305
2306
  def ensure_no_remaining_params!: () -> void
2306
2307
 
2307
2308
  # _@param_ `param_name`
2308
2309
  def fetch_solo_param: (String param_name) -> String
2309
2310
 
2310
- # Implemented by every subclass.
2311
- def convert: () -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
2312
-
2313
2311
  attr_reader gid: String
2314
2312
 
2315
2313
  attr_reader remaining_params: ::Hash[String, ::Array[String]]
@@ -2386,6 +2384,9 @@ module Checkoff
2386
2384
 
2387
2385
  def convert: () -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
2388
2386
 
2387
+ # _@param_ `out`
2388
+ def ensure_matched!: ([::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]? _out) -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
2389
+
2389
2390
  # _@param_ `prefix`
2390
2391
  def convert_for_prefix: (String prefix) -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
2391
2392
 
@@ -2418,9 +2419,6 @@ module Checkoff
2418
2419
  # _@param_ `prefix`
2419
2420
  def validate_unit_is_day!: (String prefix) -> void
2420
2421
 
2421
- # _@param_ `out`
2422
- def ensure_matched!: ([::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]? _out) -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
2423
-
2424
2422
  attr_reader date_url_params: ::Hash[String, ::Array[String]]
2425
2423
  end
2426
2424
 
@@ -2438,6 +2436,8 @@ module Checkoff
2438
2436
  # _@return_ — the single value of the search url param
2439
2437
  def single_value: () -> String
2440
2438
 
2439
+ def convert: () -> ::Array[String]
2440
+
2441
2441
  # Inputs:
2442
2442
  # 123_column_456 means "abc" project, "def" section
2443
2443
  # 123 means "abc" project
@@ -2451,8 +2451,6 @@ module Checkoff
2451
2451
  # _@param_ `verb`
2452
2452
  def convert_from_projects_and_sections: (String verb) -> ::Array[String]
2453
2453
 
2454
- def convert: () -> ::Array[String]
2455
-
2456
2454
  attr_reader key: String
2457
2455
 
2458
2456
  attr_reader values: ::Array[String]
@@ -2925,10 +2923,6 @@ module Checkoff
2925
2923
  #
2926
2924
  # _@param_ `excluding_resource_subtypes`
2927
2925
  def evaluate: (Asana::Resources::Task task, Integer num_days, ::Array[String] excluding_resource_subtypes) -> bool
2928
-
2929
- # sord warn - Asana::Resources::Story wasn't able to be resolved to a constant in this project
2930
- # _@param_ `story`
2931
- def created_at_for: (Asana::Resources::Story story) -> Time
2932
2926
  end
2933
2927
 
2934
2928
  # :estimate_exceeds_duration?
@@ -3031,7 +3025,7 @@ module Checkoff
3031
3025
  tasks: Checkoff::Tasks,
3032
3026
  timelines: Checkoff::Timelines,
3033
3027
  custom_fields: Checkoff::CustomFields,
3034
- **::Hash[untyped, untyped] _kwargs
3028
+ **untyped _kwargs
3035
3029
  ) -> void
3036
3030
 
3037
3031
  attr_reader tasks: Checkoff::Tasks
@@ -3056,7 +3050,7 @@ module Checkoff
3056
3050
  # _@param_ `_resource`
3057
3051
  #
3058
3052
  # _@param_ `args`
3059
- def evaluate: ((Asana::Resources::Task | Asana::Resources::Project) _resource, *::Array[Object] args) -> bool
3053
+ def evaluate: ((Asana::Resources::Task | Asana::Resources::Project) _resource, *Object args) -> bool
3060
3054
  end
3061
3055
 
3062
3056
  # :or function
@@ -3073,7 +3067,7 @@ module Checkoff
3073
3067
  # _@param_ `_resource`
3074
3068
  #
3075
3069
  # _@param_ `args`
3076
- def evaluate: ((Asana::Resources::Task | Asana::Resources::Project) _resource, *::Array[Object] args) -> bool
3070
+ def evaluate: ((Asana::Resources::Task | Asana::Resources::Project) _resource, *Object args) -> bool
3077
3071
  end
3078
3072
 
3079
3073
  # :not function
@@ -3238,11 +3232,11 @@ module Checkoff
3238
3232
  # _@param_ `custom_fields`
3239
3233
  #
3240
3234
  # _@param_ `_kwargs`
3241
- def initialize: (selector: (::Array[(Symbol | ::Array[untyped])] | Symbol), custom_fields: Checkoff::CustomFields, **::Hash[untyped, untyped] _kwargs) -> void
3242
-
3243
- attr_reader selector: (::Array[(Symbol | ::Array[untyped])] | Symbol)
3235
+ def initialize: (selector: (::Array[(Symbol | ::Array[untyped])] | Symbol), custom_fields: Checkoff::CustomFields, **untyped _kwargs) -> void
3244
3236
 
3245
3237
  attr_reader custom_fields: Checkoff::CustomFields
3238
+
3239
+ attr_reader selector: (::Array[(Symbol | ::Array[untyped])] | Symbol)
3246
3240
  end
3247
3241
  end
3248
3242
 
@@ -3310,16 +3304,16 @@ module Checkoff
3310
3304
  projects: Checkoff::Projects,
3311
3305
  portfolios: Checkoff::Portfolios,
3312
3306
  workspaces: Checkoff::Workspaces,
3313
- **::Hash[untyped, untyped] _kwargs
3307
+ **untyped _kwargs
3314
3308
  ) -> void
3315
3309
 
3316
- attr_reader selector: (::Array[(Symbol | ::Array[untyped])] | Symbol)
3317
-
3318
3310
  attr_reader projects: Checkoff::Projects
3319
3311
 
3320
3312
  attr_reader portfolios: Checkoff::Portfolios
3321
3313
 
3322
3314
  attr_reader workspaces: Checkoff::Workspaces
3315
+
3316
+ attr_reader selector: (::Array[(Symbol | ::Array[untyped])] | Symbol)
3323
3317
  end
3324
3318
  end
3325
3319
 
@@ -3361,15 +3355,15 @@ module Checkoff
3361
3355
  selector: (::Array[(Symbol | ::Array[untyped])] | Symbol),
3362
3356
  sections: Checkoff::Sections,
3363
3357
  client: Asana::Client,
3364
- **::Hash[untyped, untyped] kwargs
3358
+ **untyped kwargs
3365
3359
  ) -> void
3366
3360
 
3367
- attr_reader selector: (::Array[(Symbol | ::Array[untyped])] | Symbol)
3361
+ attr_reader sections: Checkoff::Sections
3368
3362
 
3369
3363
  # sord warn - Asana::Client wasn't able to be resolved to a constant in this project
3370
3364
  attr_reader client: Asana::Client
3371
3365
 
3372
- attr_reader sections: Checkoff::Sections
3366
+ attr_reader selector: (::Array[(Symbol | ::Array[untyped])] | Symbol)
3373
3367
  end
3374
3368
  end
3375
3369
 
@@ -3377,6 +3371,19 @@ module Checkoff
3377
3371
  class FunctionEvaluator
3378
3372
  include Logging
3379
3373
 
3374
+ # Concrete subclasses each declare their own initialize with their
3375
+ # specific keyword args (and set @selector themselves before calling
3376
+ # super()); this signature exists only so Solargraph can resolve
3377
+ # `evaluator_class.new(selector:, **kwargs)` call sites that hold a
3378
+ # `Class<FunctionEvaluator>` reference rather than a concrete subclass -
3379
+ # deliberately a no-op so a bare `super()` call from those subclasses
3380
+ # can't clobber the @selector they already set.
3381
+ #
3382
+ # _@param_ `selector`
3383
+ #
3384
+ # _@param_ `_kwargs`
3385
+ def initialize: (?selector: (Symbol | ::Array[untyped] | String)?, **untyped _kwargs) -> void
3386
+
3380
3387
  # _@param_ `_index`
3381
3388
  def evaluate_arg?: (Integer _index) -> bool
3382
3389
 
@@ -3386,26 +3393,13 @@ module Checkoff
3386
3393
  # _@param_ `_task`
3387
3394
  #
3388
3395
  # _@param_ `_args`
3389
- def evaluate: (Asana::Resources::Task _task, *::Array[Object] _args) -> Object
3396
+ def evaluate: (Asana::Resources::Task _task, *Object _args) -> Object
3390
3397
 
3391
3398
  # _@param_ `object`
3392
3399
  #
3393
3400
  # _@param_ `fn_name`
3394
3401
  def fn?: ((::Array[(Symbol | ::Array[untyped])] | Symbol) object, Symbol fn_name) -> bool
3395
3402
 
3396
- # Concrete subclasses each declare their own initialize with their
3397
- # specific keyword args (and set @selector themselves before calling
3398
- # super()); this signature exists only so Solargraph can resolve
3399
- # `evaluator_class.new(selector:, **kwargs)` call sites that hold a
3400
- # `Class<FunctionEvaluator>` reference rather than a concrete subclass -
3401
- # deliberately a no-op so a bare `super()` call from those subclasses
3402
- # can't clobber the @selector they already set.
3403
- #
3404
- # _@param_ `selector`
3405
- #
3406
- # _@param_ `_kwargs`
3407
- def initialize: (?selector: (Symbol | ::Array[untyped] | String)?, **::Hash[untyped, untyped] _kwargs) -> void
3408
-
3409
3403
  def logger: () -> ::Logger
3410
3404
 
3411
3405
  # _@param_ `message`
@@ -3527,7 +3521,7 @@ module Checkoff
3527
3521
  ?projects: Checkoff::Projects,
3528
3522
  ?sections: Checkoff::Sections,
3529
3523
  ?custom_fields: Checkoff::CustomFields,
3530
- **::Hash[untyped, untyped] _kwargs
3524
+ **untyped _kwargs
3531
3525
  ) -> void
3532
3526
 
3533
3527
  def function_evaluators: () -> ::Array[singleton(Checkoff::SelectorClasses::Project::FunctionEvaluator)]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkoff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.263.0
4
+ version: 0.265.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vince Broz
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-08-29 00:00:00.000000000 Z
11
+ date: 2026-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport