checkoff 0.257.0 → 0.258.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/checkoff/cli.rb +10 -10
- data/lib/checkoff/custom_fields.rb +0 -2
- data/lib/checkoff/internal/asana_event_enrichment.rb +8 -0
- data/lib/checkoff/internal/asana_event_filter.rb +4 -0
- data/lib/checkoff/internal/search_url/custom_field_param_converter.rb +8 -7
- data/lib/checkoff/internal/search_url/custom_field_variant.rb +2 -0
- data/lib/checkoff/internal/search_url/date_param_converter.rb +8 -2
- data/lib/checkoff/internal/search_url/simple_param_converter.rb +13 -4
- data/lib/checkoff/internal/selector_classes/common/function_evaluator.rb +3 -0
- data/lib/checkoff/internal/selector_classes/common.rb +12 -29
- data/lib/checkoff/internal/selector_classes/function_evaluator.rb +11 -0
- data/lib/checkoff/internal/selector_classes/project/function_evaluator.rb +9 -0
- data/lib/checkoff/internal/selector_classes/project.rb +6 -13
- data/lib/checkoff/internal/selector_classes/section/function_evaluator.rb +6 -3
- data/lib/checkoff/internal/selector_classes/section.rb +2 -4
- data/lib/checkoff/internal/selector_classes/task.rb +40 -15
- data/lib/checkoff/internal/selector_evaluator.rb +4 -6
- data/lib/checkoff/sections.rb +6 -12
- data/lib/checkoff/task_selectors.rb +3 -3
- data/lib/checkoff/tasks.rb +2 -2
- data/lib/checkoff/timelines.rb +14 -2
- data/lib/checkoff/version.rb +1 -1
- data/rbi/checkoff.rbi +46 -49
- data/sig/checkoff.rbs +18 -42
- metadata +2 -2
data/sig/checkoff.rbs
CHANGED
|
@@ -1111,7 +1111,7 @@ module Checkoff
|
|
|
1111
1111
|
) -> ::Enumerable[Asana::Resources::Task]
|
|
1112
1112
|
|
|
1113
1113
|
# Pulls just names of tasks from a given section.
|
|
1114
|
-
# @sg-ignore
|
|
1114
|
+
# @sg-ignore Task#name is nilable; task names are assumed present here
|
|
1115
1115
|
#
|
|
1116
1116
|
# _@param_ `workspace_name`
|
|
1117
1117
|
#
|
|
@@ -1980,13 +1980,13 @@ module Checkoff
|
|
|
1980
1980
|
# _@param_ `task_selector` — Filter based on task details. Examples: [:tag, 'foo'] [:not, [:tag, 'foo']] [:tag, 'foo']
|
|
1981
1981
|
def filter_via_task_selector: (Asana::Resources::Task task, (Symbol | ::Array[(Symbol | Integer | ::Array[untyped])]) task_selector) -> bool
|
|
1982
1982
|
|
|
1983
|
-
# @sg-ignore
|
|
1983
|
+
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
1984
1984
|
def self.project_name: () -> String
|
|
1985
1985
|
|
|
1986
|
-
# @sg-ignore
|
|
1986
|
+
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
1987
1987
|
def self.workspace_name: () -> String
|
|
1988
1988
|
|
|
1989
|
-
# @sg-ignore
|
|
1989
|
+
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
1990
1990
|
def self.task_selector: () -> [Symbol, ::Array[untyped]]
|
|
1991
1991
|
|
|
1992
1992
|
def self.run: () -> void
|
|
@@ -2417,7 +2417,7 @@ module Checkoff
|
|
|
2417
2417
|
# _@param_ `date_url_params` — the simple params
|
|
2418
2418
|
def initialize: (date_url_params: ::Hash[String, ::Array[String]]) -> void
|
|
2419
2419
|
|
|
2420
|
-
# @sg-ignore
|
|
2420
|
+
# @sg-ignore out can genuinely be nil if none of the 3 known prefixes matched; relies on the raise above it
|
|
2421
2421
|
def convert: () -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
|
|
2422
2422
|
|
|
2423
2423
|
# _@param_ `prefix`
|
|
@@ -2443,7 +2443,7 @@ module Checkoff
|
|
|
2443
2443
|
# _@return_ — See https://developers.asana.com/docs/search-tasks-in-a-workspace
|
|
2444
2444
|
def handle_within_next: (String prefix) -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
|
|
2445
2445
|
|
|
2446
|
-
# @sg-ignore
|
|
2446
|
+
# @sg-ignore value.length == 1 guard above isn't inferred as narrowing value[0] to non-nil
|
|
2447
2447
|
#
|
|
2448
2448
|
# _@param_ `param_key`
|
|
2449
2449
|
def get_single_param: (String param_key) -> String
|
|
@@ -2570,14 +2570,13 @@ module Checkoff
|
|
|
2570
2570
|
def convert: () -> ::Hash[String, String]
|
|
2571
2571
|
|
|
2572
2572
|
# https://developers.asana.com/docs/search-tasks-in-a-workspace
|
|
2573
|
-
# @sg-ignore
|
|
2574
2573
|
#
|
|
2575
2574
|
# _@param_ `key` — the name of the search url param
|
|
2576
2575
|
#
|
|
2577
2576
|
# _@param_ `values` — the values of the search url param
|
|
2578
2577
|
#
|
|
2579
|
-
# _@return_ — the converted params
|
|
2580
|
-
def convert_arg: (String key, ::Array[String] values) -> ::
|
|
2578
|
+
# _@return_ — the converted params, as an alternating key/value flat array
|
|
2579
|
+
def convert_arg: (String key, ::Array[String] values) -> ::Array[String]
|
|
2581
2580
|
|
|
2582
2581
|
attr_reader simple_url_params: ::Hash[String, ::Array[String]]
|
|
2583
2582
|
end
|
|
@@ -2594,14 +2593,14 @@ module Checkoff
|
|
|
2594
2593
|
|
|
2595
2594
|
def by_custom_field: () -> ::Hash[String, ::Hash[untyped, untyped]]
|
|
2596
2595
|
|
|
2597
|
-
# @sg-ignore
|
|
2596
|
+
# @sg-ignore `unless variant_class.nil?` return value isn't inferred as the declared tuple type
|
|
2598
2597
|
#
|
|
2599
2598
|
# _@param_ `gid`
|
|
2600
2599
|
#
|
|
2601
2600
|
# _@param_ `single_custom_field_params`
|
|
2602
2601
|
def convert_single_custom_field_params: (String gid, ::Hash[String, ::Array[String]] single_custom_field_params) -> [::Hash[String, String], ::Array[(Symbol | ::Array[untyped])]]
|
|
2603
2602
|
|
|
2604
|
-
# @sg-ignore
|
|
2603
|
+
# @sg-ignore split(...)[n]'s nilable Array indexing isn't inferred as the declared String return
|
|
2605
2604
|
#
|
|
2606
2605
|
# _@param_ `key`
|
|
2607
2606
|
def gid_from_custom_field_key: (String key) -> String
|
|
@@ -2796,18 +2795,18 @@ module Checkoff
|
|
|
2796
2795
|
|
|
2797
2796
|
def initializer_kwargs: () -> ::Hash[untyped, untyped]
|
|
2798
2797
|
|
|
2799
|
-
# @sg-ignore
|
|
2798
|
+
# @sg-ignore abstract method always raises; declared type documents the override contract, not this body
|
|
2800
2799
|
def function_evaluators: () -> ::Array[singleton(Checkoff::SelectorClasses::FunctionEvaluator)]
|
|
2801
2800
|
|
|
2802
2801
|
# _@param_ `selector`
|
|
2803
2802
|
#
|
|
2804
2803
|
# _@param_ `evaluator`
|
|
2805
|
-
def evaluate_args: (::Array[untyped] selector, Checkoff::SelectorClasses::FunctionEvaluator evaluator) -> ::Array[untyped]
|
|
2804
|
+
def evaluate_args: ((Symbol | ::Array[untyped]) selector, Checkoff::SelectorClasses::FunctionEvaluator evaluator) -> ::Array[untyped]
|
|
2806
2805
|
|
|
2807
2806
|
# _@param_ `selector`
|
|
2808
2807
|
#
|
|
2809
2808
|
# _@param_ `evaluator`
|
|
2810
|
-
def try_this_evaluator: (::Array[untyped] selector, Checkoff::SelectorClasses::FunctionEvaluator evaluator) -> (bool | Object)?
|
|
2809
|
+
def try_this_evaluator: ((Symbol | ::Array[untyped]) selector, Checkoff::SelectorClasses::FunctionEvaluator evaluator) -> (bool | Object)?
|
|
2811
2810
|
|
|
2812
2811
|
attr_reader item: Asana::Resources::Resource
|
|
2813
2812
|
end
|
|
@@ -2834,8 +2833,6 @@ module Checkoff
|
|
|
2834
2833
|
def evaluate_arg?: (Integer _index) -> bool
|
|
2835
2834
|
|
|
2836
2835
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
2837
|
-
# @sg-ignore
|
|
2838
|
-
#
|
|
2839
2836
|
# _@param_ `task`
|
|
2840
2837
|
#
|
|
2841
2838
|
# _@param_ `section_name_prefix`
|
|
@@ -2850,8 +2847,6 @@ module Checkoff
|
|
|
2850
2847
|
def evaluate_arg?: (Integer _index) -> bool
|
|
2851
2848
|
|
|
2852
2849
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
2853
|
-
# @sg-ignore
|
|
2854
|
-
#
|
|
2855
2850
|
# _@param_ `task`
|
|
2856
2851
|
#
|
|
2857
2852
|
# _@param_ `section_name`
|
|
@@ -2866,7 +2861,8 @@ module Checkoff
|
|
|
2866
2861
|
def evaluate_arg?: (Integer _index) -> bool
|
|
2867
2862
|
|
|
2868
2863
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
2869
|
-
# @sg-ignore
|
|
2864
|
+
# @sg-ignore Hash#fetch generic<X> leak on rbs >= 4.1.0, fix in progress upstream
|
|
2865
|
+
# https://github.com/castwide/solargraph/pull/1228
|
|
2870
2866
|
#
|
|
2871
2867
|
# _@param_ `task`
|
|
2872
2868
|
#
|
|
@@ -2896,8 +2892,6 @@ module Checkoff
|
|
|
2896
2892
|
def evaluate_arg?: (Integer _index) -> bool
|
|
2897
2893
|
|
|
2898
2894
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
2899
|
-
# @sg-ignore
|
|
2900
|
-
#
|
|
2901
2895
|
# _@param_ `task`
|
|
2902
2896
|
#
|
|
2903
2897
|
# _@param_ `tag_name`
|
|
@@ -3198,10 +3192,6 @@ module Checkoff
|
|
|
3198
3192
|
|
|
3199
3193
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
3200
3194
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3201
|
-
# @sg-ignore
|
|
3202
|
-
# @sg-ignore
|
|
3203
|
-
# @sg-ignore
|
|
3204
|
-
#
|
|
3205
3195
|
# _@param_ `resource`
|
|
3206
3196
|
#
|
|
3207
3197
|
# _@param_ `custom_field_gid`
|
|
@@ -3218,9 +3208,6 @@ module Checkoff
|
|
|
3218
3208
|
|
|
3219
3209
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
3220
3210
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3221
|
-
# @sg-ignore
|
|
3222
|
-
# @sg-ignore
|
|
3223
|
-
#
|
|
3224
3211
|
# _@param_ `resource`
|
|
3225
3212
|
#
|
|
3226
3213
|
# _@param_ `custom_field_gid`
|
|
@@ -3239,9 +3226,6 @@ module Checkoff
|
|
|
3239
3226
|
|
|
3240
3227
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
3241
3228
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3242
|
-
# @sg-ignore
|
|
3243
|
-
# @sg-ignore
|
|
3244
|
-
#
|
|
3245
3229
|
# _@param_ `resource`
|
|
3246
3230
|
#
|
|
3247
3231
|
# _@param_ `custom_field_name`
|
|
@@ -3295,7 +3279,7 @@ module Checkoff
|
|
|
3295
3279
|
|
|
3296
3280
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
3297
3281
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3298
|
-
# @sg-ignore
|
|
3282
|
+
# @sg-ignore selector is only String here per matches?'s is_a?(String) check, in another method
|
|
3299
3283
|
#
|
|
3300
3284
|
# _@param_ `_resource`
|
|
3301
3285
|
def evaluate: ((Asana::Resources::Task | Asana::Resources::Project) _resource) -> String
|
|
@@ -3325,7 +3309,7 @@ module Checkoff
|
|
|
3325
3309
|
def matches?: () -> bool
|
|
3326
3310
|
|
|
3327
3311
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3328
|
-
# @sg-ignore
|
|
3312
|
+
# @sg-ignore nilable return from an @!parse-declared method isn't inferred
|
|
3329
3313
|
#
|
|
3330
3314
|
# _@param_ `resource`
|
|
3331
3315
|
def evaluate: (Asana::Resources::Project resource) -> String?
|
|
@@ -3338,8 +3322,6 @@ module Checkoff
|
|
|
3338
3322
|
def matches?: () -> bool
|
|
3339
3323
|
|
|
3340
3324
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3341
|
-
# @sg-ignore
|
|
3342
|
-
#
|
|
3343
3325
|
# _@param_ `project`
|
|
3344
3326
|
#
|
|
3345
3327
|
# _@param_ `period` — - :now_or_before or :this_week
|
|
@@ -3353,10 +3335,6 @@ module Checkoff
|
|
|
3353
3335
|
def matches?: () -> bool
|
|
3354
3336
|
|
|
3355
3337
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3356
|
-
# @sg-ignore
|
|
3357
|
-
#
|
|
3358
|
-
# @sg-ignore
|
|
3359
|
-
#
|
|
3360
3338
|
# _@param_ `project`
|
|
3361
3339
|
#
|
|
3362
3340
|
# _@param_ `portfolio_name`
|
|
@@ -3410,7 +3388,7 @@ module Checkoff
|
|
|
3410
3388
|
def matches?: () -> bool
|
|
3411
3389
|
|
|
3412
3390
|
# sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
|
|
3413
|
-
# @sg-ignore
|
|
3391
|
+
# @sg-ignore String, nil safe-nav chain isn't inferred as returning Boolean
|
|
3414
3392
|
#
|
|
3415
3393
|
# _@param_ `section`
|
|
3416
3394
|
def evaluate: (Asana::Resources::Section section) -> bool
|
|
@@ -3423,8 +3401,6 @@ module Checkoff
|
|
|
3423
3401
|
def matches?: () -> bool
|
|
3424
3402
|
|
|
3425
3403
|
# sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
|
|
3426
|
-
# @sg-ignore
|
|
3427
|
-
#
|
|
3428
3404
|
# _@param_ `section`
|
|
3429
3405
|
def evaluate: (Asana::Resources::Section section) -> bool
|
|
3430
3406
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: checkoff
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.258.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-
|
|
11
|
+
date: 2026-08-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|