checkoff 0.258.0 → 0.260.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/checkoff/attachments.rb +14 -15
- data/lib/checkoff/cli.rb +7 -12
- data/lib/checkoff/clients.rb +0 -2
- data/lib/checkoff/custom_fields.rb +13 -24
- data/lib/checkoff/internal/asana_event_enrichment.rb +11 -21
- data/lib/checkoff/internal/asana_event_filter.rb +1 -5
- data/lib/checkoff/internal/config_loader.rb +0 -2
- data/lib/checkoff/internal/logging.rb +0 -2
- data/lib/checkoff/internal/project_hashes.rb +5 -4
- data/lib/checkoff/internal/search_url/custom_field_param_converter.rb +9 -10
- data/lib/checkoff/internal/search_url/custom_field_variant.rb +7 -2
- data/lib/checkoff/internal/search_url/date_param_converter.rb +13 -10
- data/lib/checkoff/internal/search_url/parser.rb +2 -7
- data/lib/checkoff/internal/search_url/simple_param_converter.rb +1 -4
- data/lib/checkoff/internal/section_selector_evaluator.rb +1 -1
- data/lib/checkoff/internal/selector_classes/common/function_evaluator.rb +2 -2
- data/lib/checkoff/internal/selector_classes/common.rb +2 -3
- data/lib/checkoff/internal/selector_classes/function_evaluator.rb +9 -4
- data/lib/checkoff/internal/selector_classes/project/function_evaluator.rb +2 -2
- data/lib/checkoff/internal/selector_classes/project.rb +0 -1
- data/lib/checkoff/internal/selector_classes/section/function_evaluator.rb +2 -2
- data/lib/checkoff/internal/selector_classes/section.rb +1 -2
- data/lib/checkoff/internal/selector_classes/task/function_evaluator.rb +2 -2
- data/lib/checkoff/internal/selector_classes/task.rb +2 -26
- data/lib/checkoff/internal/selector_evaluator.rb +6 -5
- data/lib/checkoff/internal/task_hashes.rb +17 -9
- data/lib/checkoff/internal/task_timing.rb +0 -4
- data/lib/checkoff/internal/thread_local.rb +0 -2
- data/lib/checkoff/monkeypatches/resource_marshalling.rb +3 -3
- data/lib/checkoff/my_tasks.rb +1 -4
- data/lib/checkoff/portfolios.rb +0 -1
- data/lib/checkoff/project_selectors.rb +1 -1
- data/lib/checkoff/projects.rb +19 -8
- data/lib/checkoff/resources.rb +14 -3
- data/lib/checkoff/sections.rb +9 -9
- data/lib/checkoff/subtasks.rb +1 -2
- data/lib/checkoff/tags.rb +3 -4
- data/lib/checkoff/task_searches.rb +1 -8
- data/lib/checkoff/task_selectors.rb +25 -12
- data/lib/checkoff/tasks.rb +6 -14
- data/lib/checkoff/timelines.rb +3 -20
- data/lib/checkoff/timing.rb +1 -2
- data/lib/checkoff/version.rb +1 -1
- data/lib/checkoff/workspaces.rb +1 -7
- data/rbi/checkoff.rbi +92 -146
- data/sig/checkoff.rbs +79 -153
- metadata +2 -2
data/rbi/checkoff.rbi
CHANGED
|
@@ -82,7 +82,7 @@ module Overcommit
|
|
|
82
82
|
end
|
|
83
83
|
|
|
84
84
|
module Checkoff
|
|
85
|
-
VERSION = '0.
|
|
85
|
+
VERSION = '0.260.0'
|
|
86
86
|
|
|
87
87
|
class Attachments
|
|
88
88
|
include Logging
|
|
@@ -811,6 +811,9 @@ module Checkoff
|
|
|
811
811
|
sig { params(gid: T.untyped, resource_type: T.untyped).returns(T.untyped) }
|
|
812
812
|
def resource_by_gid(gid, resource_type: nil); end
|
|
813
813
|
|
|
814
|
+
sig { params(resource_type: T.untyped, gid: T.untyped).returns(T.untyped) }
|
|
815
|
+
def fetch_gid_by_type(resource_type, gid); end
|
|
816
|
+
|
|
814
817
|
sig { params(gid: T.untyped).returns(T.untyped) }
|
|
815
818
|
def fetch_task_gid(gid); end
|
|
816
819
|
|
|
@@ -1195,13 +1198,16 @@ module Checkoff
|
|
|
1195
1198
|
attr_reader :custom_fields
|
|
1196
1199
|
|
|
1197
1200
|
sig { returns(T.untyped) }
|
|
1198
|
-
def self.
|
|
1201
|
+
def self.task_selector; end
|
|
1202
|
+
|
|
1203
|
+
sig { params(parsed: T.untyped).returns(T.untyped) }
|
|
1204
|
+
def self.validate_task_selector(parsed); end
|
|
1199
1205
|
|
|
1200
1206
|
sig { returns(T.untyped) }
|
|
1201
|
-
def self.
|
|
1207
|
+
def self.project_name; end
|
|
1202
1208
|
|
|
1203
1209
|
sig { returns(T.untyped) }
|
|
1204
|
-
def self.
|
|
1210
|
+
def self.workspace_name; end
|
|
1205
1211
|
|
|
1206
1212
|
sig { returns(T.untyped) }
|
|
1207
1213
|
def self.run; end
|
|
@@ -1630,6 +1636,9 @@ module Checkoff
|
|
|
1630
1636
|
sig { params(task_hash: T.untyped, memberships: T.untyped).returns(T.untyped) }
|
|
1631
1637
|
def add_user_task_list(task_hash, memberships); end
|
|
1632
1638
|
|
|
1639
|
+
sig { params(task_hash: T.untyped).returns(T.untyped) }
|
|
1640
|
+
def assignee_hash(task_hash); end
|
|
1641
|
+
|
|
1633
1642
|
sig do
|
|
1634
1643
|
params(
|
|
1635
1644
|
task_hash: T.untyped,
|
|
@@ -1721,6 +1730,9 @@ module Checkoff
|
|
|
1721
1730
|
sig { params(gid: T.untyped, remaining_params: T.untyped).void }
|
|
1722
1731
|
def initialize(gid, remaining_params); end
|
|
1723
1732
|
|
|
1733
|
+
sig { returns(T.untyped) }
|
|
1734
|
+
def convert; end
|
|
1735
|
+
|
|
1724
1736
|
sig { returns(T.untyped) }
|
|
1725
1737
|
attr_reader :gid
|
|
1726
1738
|
|
|
@@ -1798,6 +1810,9 @@ module Checkoff
|
|
|
1798
1810
|
sig { returns(T.untyped) }
|
|
1799
1811
|
def convert; end
|
|
1800
1812
|
|
|
1813
|
+
sig { params(out: T.untyped).returns(T.untyped) }
|
|
1814
|
+
def ensure_matched!(out); end
|
|
1815
|
+
|
|
1801
1816
|
sig { params(prefix: T.untyped).returns(T.untyped) }
|
|
1802
1817
|
def convert_for_prefix(prefix); end
|
|
1803
1818
|
|
|
@@ -2470,7 +2485,7 @@ end
|
|
|
2470
2485
|
# typed: ignore
|
|
2471
2486
|
# Command-line and gem client for Asana (unofficial)
|
|
2472
2487
|
module Checkoff
|
|
2473
|
-
VERSION = T.let('0.
|
|
2488
|
+
VERSION = T.let('0.260.0', T.untyped)
|
|
2474
2489
|
|
|
2475
2490
|
# Move tasks from one place to another
|
|
2476
2491
|
class MvSubcommand
|
|
@@ -2617,7 +2632,7 @@ module Checkoff
|
|
|
2617
2632
|
workspace_name: String,
|
|
2618
2633
|
project_name: T.any(String, Symbol),
|
|
2619
2634
|
section_name: T.nilable(T.any(String, Symbol)),
|
|
2620
|
-
task_name: T.nilable(
|
|
2635
|
+
task_name: T.nilable(String),
|
|
2621
2636
|
config: T.any(Checkoff::Internal::EnvFallbackConfigLoader, T::Hash[T.untyped, T.untyped]),
|
|
2622
2637
|
projects: Checkoff::Projects,
|
|
2623
2638
|
sections: Checkoff::Sections,
|
|
@@ -2813,8 +2828,6 @@ module Checkoff
|
|
|
2813
2828
|
def tasks_by_tag_gid(workspace_name, tag_gid, only_uncompleted: true, extra_fields: []); end
|
|
2814
2829
|
|
|
2815
2830
|
# sord warn - Asana::Resources::Tag wasn't able to be resolved to a constant in this project
|
|
2816
|
-
# @sg-ignore nil check above is not flow-sensitive
|
|
2817
|
-
#
|
|
2818
2831
|
# _@param_ `workspace_name`
|
|
2819
2832
|
#
|
|
2820
2833
|
# _@param_ `tag_name`
|
|
@@ -2885,7 +2898,7 @@ module Checkoff
|
|
|
2885
2898
|
# _@param_ `asana_task`
|
|
2886
2899
|
sig do
|
|
2887
2900
|
params(
|
|
2888
|
-
config: T.any(T::Hash[
|
|
2901
|
+
config: T.any(T::Hash[Symbol, Object], Checkoff::Internal::EnvFallbackConfigLoader),
|
|
2889
2902
|
client: Asana::Client,
|
|
2890
2903
|
workspaces: Checkoff::Workspaces,
|
|
2891
2904
|
sections: Checkoff::Sections,
|
|
@@ -2994,9 +3007,6 @@ module Checkoff
|
|
|
2994
3007
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
2995
3008
|
# Add a task
|
|
2996
3009
|
#
|
|
2997
|
-
# @sg-ignore @asana_task.create return type could not be inferred — calling a class method
|
|
2998
|
-
# through a Class<T>-typed ivar is a known Solargraph dispatch limitation
|
|
2999
|
-
#
|
|
3000
3010
|
# _@param_ `name`
|
|
3001
3011
|
#
|
|
3002
3012
|
# _@param_ `workspace_gid`
|
|
@@ -3049,14 +3059,12 @@ module Checkoff
|
|
|
3049
3059
|
|
|
3050
3060
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
3051
3061
|
# _@param_ `task_data`
|
|
3052
|
-
sig { params(task_data: T::Hash[
|
|
3062
|
+
sig { params(task_data: T::Hash[String, Object]).returns(Asana::Resources::Task) }
|
|
3053
3063
|
def h_to_task(task_data); end
|
|
3054
3064
|
|
|
3055
3065
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
3056
3066
|
# True if the task is in a project which is in the given portfolio
|
|
3057
3067
|
#
|
|
3058
|
-
# @sg-ignore Checkoff::Tasks#in_portfolio_named? return type could not be inferred
|
|
3059
|
-
#
|
|
3060
3068
|
# _@param_ `task`
|
|
3061
3069
|
#
|
|
3062
3070
|
# _@param_ `portfolio_name`
|
|
@@ -3109,9 +3117,6 @@ module Checkoff
|
|
|
3109
3117
|
sig { returns(Checkoff::Projects) }
|
|
3110
3118
|
def projects; end
|
|
3111
3119
|
|
|
3112
|
-
# @sg-ignore @config.fetch return type could not be inferred — @config is intentionally
|
|
3113
|
-
# dual-typed [Hash, EnvFallbackConfigLoader] throughout this codebase; Solargraph can't
|
|
3114
|
-
# unify #fetch across that union
|
|
3115
3120
|
sig { returns(String) }
|
|
3116
3121
|
def default_assignee_gid; end
|
|
3117
3122
|
|
|
@@ -3138,7 +3143,6 @@ module Checkoff
|
|
|
3138
3143
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
3139
3144
|
def finer(message = nil, &block); end
|
|
3140
3145
|
|
|
3141
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
3142
3146
|
sig { returns(Symbol) }
|
|
3143
3147
|
def log_level; end
|
|
3144
3148
|
|
|
@@ -3246,7 +3250,6 @@ module Checkoff
|
|
|
3246
3250
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
3247
3251
|
def finer(message = nil, &block); end
|
|
3248
3252
|
|
|
3249
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
3250
3253
|
sig { returns(Symbol) }
|
|
3251
3254
|
def log_level; end
|
|
3252
3255
|
|
|
@@ -3298,7 +3301,7 @@ module Checkoff
|
|
|
3298
3301
|
# _@param_ `date_or_time`
|
|
3299
3302
|
#
|
|
3300
3303
|
# _@param_ `period` — Valid values: :this_week, :now_or_before, :indefinite, [:less_than_n_days_ago, Integer]
|
|
3301
|
-
sig { params(date_or_time: T.nilable(T.any(Date, Time)), period: T.any(Symbol, [Symbol, Integer])).returns(T::Boolean) }
|
|
3304
|
+
sig { params(date_or_time: T.nilable(T.any(Date, Time)), period: T.any(Symbol, T::Array[T.any(Symbol, Integer)])).returns(T::Boolean) }
|
|
3302
3305
|
def in_period?(date_or_time, period); end
|
|
3303
3306
|
|
|
3304
3307
|
# _@param_ `date_or_time`
|
|
@@ -3347,8 +3350,6 @@ module Checkoff
|
|
|
3347
3350
|
sig { params(num_days: Integer).returns(ActiveSupport::TimeWithZone) }
|
|
3348
3351
|
def n_days_from_now(num_days); end
|
|
3349
3352
|
|
|
3350
|
-
# @sg-ignore Checkoff::Timing#n_days_from_today return type could not be inferred
|
|
3351
|
-
#
|
|
3352
3353
|
# _@param_ `num_days`
|
|
3353
3354
|
sig { params(num_days: Integer).returns(Date) }
|
|
3354
3355
|
def n_days_from_today(num_days); end
|
|
@@ -3395,7 +3396,6 @@ module Checkoff
|
|
|
3395
3396
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
3396
3397
|
def finer(message = nil, &block); end
|
|
3397
3398
|
|
|
3398
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
3399
3399
|
sig { returns(Symbol) }
|
|
3400
3400
|
def log_level; end
|
|
3401
3401
|
end
|
|
@@ -3520,6 +3520,12 @@ module Checkoff
|
|
|
3520
3520
|
|
|
3521
3521
|
# Default options used in Asana API to pull tasks
|
|
3522
3522
|
#
|
|
3523
|
+
# Keys are :per_page (Integer), :options (a Hash whose :fields is an
|
|
3524
|
+
# Array<String>) and, when only_uncompleted is set, :completed_since
|
|
3525
|
+
# (String). The value type is genuinely per-key, which a single YARD
|
|
3526
|
+
# Hash value type cannot express.
|
|
3527
|
+
# Callers who want the field list should call #task_fields directly.
|
|
3528
|
+
#
|
|
3523
3529
|
# _@param_ `extra_fields`
|
|
3524
3530
|
#
|
|
3525
3531
|
# _@param_ `only_uncompleted`
|
|
@@ -3548,8 +3554,6 @@ module Checkoff
|
|
|
3548
3554
|
def project(workspace_name, project_name, extra_fields: []); end
|
|
3549
3555
|
|
|
3550
3556
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3551
|
-
# @sg-ignore nil check above is not flow-sensitive
|
|
3552
|
-
#
|
|
3553
3557
|
# _@param_ `workspace_name`
|
|
3554
3558
|
#
|
|
3555
3559
|
# _@param_ `project_name` — - :my_tasks or a project name
|
|
@@ -3606,8 +3610,8 @@ module Checkoff
|
|
|
3606
3610
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3607
3611
|
# _@param_ `project_obj`
|
|
3608
3612
|
#
|
|
3609
|
-
# _@param_ `project` — -
|
|
3610
|
-
sig { params(project_obj: Asana::Resources::Project, project: T.any(String, Symbol)).returns(T::Hash[
|
|
3613
|
+
# _@param_ `project` — - a String is a project name
|
|
3614
|
+
sig { params(project_obj: Asana::Resources::Project, project: T.nilable(T.any(String, Symbol))).returns(T::Hash[String, Object]) }
|
|
3611
3615
|
def project_to_h(project_obj, project: :not_specified); end
|
|
3612
3616
|
|
|
3613
3617
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
@@ -3621,7 +3625,7 @@ module Checkoff
|
|
|
3621
3625
|
# _@param_ `project`
|
|
3622
3626
|
#
|
|
3623
3627
|
# _@param_ `period` — See Checkoff::Timing#in_period? - :now_or_before,:this_week
|
|
3624
|
-
sig { params(project: Asana::Resources::Project, period: T.any(Symbol, [Symbol, Integer])).returns(T::Boolean) }
|
|
3628
|
+
sig { params(project: Asana::Resources::Project, period: T.any(Symbol, T::Array[T.any(Symbol, Integer)])).returns(T::Boolean) }
|
|
3625
3629
|
def project_ready?(project, period: :now_or_before); end
|
|
3626
3630
|
|
|
3627
3631
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
@@ -3630,7 +3634,7 @@ module Checkoff
|
|
|
3630
3634
|
# _@param_ `field_name`
|
|
3631
3635
|
#
|
|
3632
3636
|
# _@param_ `period` — See Checkoff::Timing#in_period? - :now_or_before,:this_week
|
|
3633
|
-
sig { params(project: Asana::Resources::Project, field_name: T.any(Symbol, T::Array[T.untyped]), period: T.any(Symbol, [Symbol, Integer])).returns(T::Boolean) }
|
|
3637
|
+
sig { params(project: Asana::Resources::Project, field_name: T.any(Symbol, T::Array[T.untyped]), period: T.any(Symbol, T::Array[T.any(Symbol, Integer)])).returns(T::Boolean) }
|
|
3634
3638
|
def in_period?(project, field_name, period); end
|
|
3635
3639
|
|
|
3636
3640
|
sig { returns(T::Hash[T.untyped, T.untyped]) }
|
|
@@ -3668,7 +3672,6 @@ module Checkoff
|
|
|
3668
3672
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
3669
3673
|
def finer(message = nil, &block); end
|
|
3670
3674
|
|
|
3671
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
3672
3675
|
sig { returns(Symbol) }
|
|
3673
3676
|
def log_level; end
|
|
3674
3677
|
|
|
@@ -3794,7 +3797,6 @@ module Checkoff
|
|
|
3794
3797
|
def tasks(workspace_name, project_name, section_name, only_uncompleted: true, extra_fields: []); end
|
|
3795
3798
|
|
|
3796
3799
|
# Pulls just names of tasks from a given section.
|
|
3797
|
-
# @sg-ignore Task#name is nilable; task names are assumed present here
|
|
3798
3800
|
#
|
|
3799
3801
|
# _@param_ `workspace_name`
|
|
3800
3802
|
#
|
|
@@ -3805,8 +3807,6 @@ module Checkoff
|
|
|
3805
3807
|
def section_task_names(workspace_name, project_name, section_name); end
|
|
3806
3808
|
|
|
3807
3809
|
# sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
|
|
3808
|
-
# @sg-ignore section() is nil-checked below
|
|
3809
|
-
#
|
|
3810
3810
|
# _@param_ `workspace_name`
|
|
3811
3811
|
#
|
|
3812
3812
|
# _@param_ `project_name`
|
|
@@ -3901,8 +3901,6 @@ module Checkoff
|
|
|
3901
3901
|
def file_task_by_section(by_section, task, project_gid); end
|
|
3902
3902
|
|
|
3903
3903
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3904
|
-
# @sg-ignore projects.project may be nil but is raised below
|
|
3905
|
-
#
|
|
3906
3904
|
# _@param_ `workspace_name`
|
|
3907
3905
|
#
|
|
3908
3906
|
# _@param_ `project_name`
|
|
@@ -3932,7 +3930,6 @@ module Checkoff
|
|
|
3932
3930
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
3933
3931
|
def finer(message = nil, &block); end
|
|
3934
3932
|
|
|
3935
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
3936
3933
|
sig { returns(Symbol) }
|
|
3937
3934
|
def log_level; end
|
|
3938
3935
|
|
|
@@ -4010,8 +4007,6 @@ module Checkoff
|
|
|
4010
4007
|
# expected to move to the new-style way of representing sections
|
|
4011
4008
|
# as memberships with a separate API within a task.
|
|
4012
4009
|
#
|
|
4013
|
-
# @sg-ignore Checkoff::Subtasks#subtask_section? return type could not be inferred
|
|
4014
|
-
#
|
|
4015
4010
|
# _@param_ `subtask`
|
|
4016
4011
|
sig { params(subtask: Asana::Resources::Task).returns(T.nilable(T::Boolean)) }
|
|
4017
4012
|
def subtask_section?(subtask); end
|
|
@@ -4101,6 +4096,12 @@ module Checkoff
|
|
|
4101
4096
|
sig { void }
|
|
4102
4097
|
def self.run; end
|
|
4103
4098
|
|
|
4099
|
+
# _@param_ `resource_type`
|
|
4100
|
+
#
|
|
4101
|
+
# _@param_ `gid`
|
|
4102
|
+
sig { params(resource_type: String, gid: String).returns(T.nilable(Asana::Resources::Resource)) }
|
|
4103
|
+
def fetch_gid_by_type(resource_type, gid); end
|
|
4104
|
+
|
|
4104
4105
|
sig { returns(Checkoff::Workspaces) }
|
|
4105
4106
|
attr_reader :workspaces
|
|
4106
4107
|
|
|
@@ -4185,7 +4186,7 @@ module Checkoff
|
|
|
4185
4186
|
# _@param_ `task_data`
|
|
4186
4187
|
#
|
|
4187
4188
|
# _@param_ `section`
|
|
4188
|
-
sig { params(task_data: T::Hash[
|
|
4189
|
+
sig { params(task_data: T::Hash[String, Object], section: Asana::Resources::Section).returns(T::Boolean) }
|
|
4189
4190
|
def task_data_dependent_on_previous_section_last_milestone?(task_data, section); end
|
|
4190
4191
|
|
|
4191
4192
|
sig { void }
|
|
@@ -4232,8 +4233,6 @@ module Checkoff
|
|
|
4232
4233
|
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), clients: Checkoff::Clients.new(config:), client: clients.client, projects: Checkoff::Projects.new(config:, client:), workspaces: Checkoff::Workspaces.new(config:, client:)); end
|
|
4233
4234
|
|
|
4234
4235
|
# sord warn - Asana::Resources::Portfolio wasn't able to be resolved to a constant in this project
|
|
4235
|
-
# @sg-ignore nil check above is not flow-sensitive
|
|
4236
|
-
#
|
|
4237
4236
|
# _@param_ `workspace_name`
|
|
4238
4237
|
#
|
|
4239
4238
|
# _@param_ `portfolio_name`
|
|
@@ -4304,7 +4303,7 @@ module Checkoff
|
|
|
4304
4303
|
# _@param_ `client`
|
|
4305
4304
|
#
|
|
4306
4305
|
# _@param_ `asana_workspace`
|
|
4307
|
-
sig { params(config: T.any(T::Hash[
|
|
4306
|
+
sig { params(config: T.any(T::Hash[Symbol, Object], Checkoff::Internal::EnvFallbackConfigLoader), client: Asana::Client, asana_workspace: T.class_of(Asana::Resources::Workspace)).void }
|
|
4308
4307
|
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, asana_workspace: Asana::Resources::Workspace); end
|
|
4309
4308
|
|
|
4310
4309
|
# sord warn - Asana::Resources::Workspace wasn't able to be resolved to a constant in this project
|
|
@@ -4315,21 +4314,14 @@ module Checkoff
|
|
|
4315
4314
|
def workspace(workspace_name); end
|
|
4316
4315
|
|
|
4317
4316
|
# sord warn - Asana::Resources::Workspace wasn't able to be resolved to a constant in this project
|
|
4318
|
-
# @sg-ignore @asana_workspace.find_by_id return type could not be inferred — calling a
|
|
4319
|
-
# class method through a Class<T>-typed ivar is a known Solargraph dispatch limitation
|
|
4320
4317
|
sig { returns(Asana::Resources::Workspace) }
|
|
4321
4318
|
def default_workspace; end
|
|
4322
4319
|
|
|
4323
4320
|
# sord warn - Asana::Resources::Workspace wasn't able to be resolved to a constant in this project
|
|
4324
|
-
# @sg-ignore workspace() is nil-checked below
|
|
4325
|
-
#
|
|
4326
4321
|
# _@param_ `workspace_name`
|
|
4327
4322
|
sig { params(workspace_name: T.any(String, Symbol)).returns(Asana::Resources::Workspace) }
|
|
4328
4323
|
def workspace_or_raise(workspace_name); end
|
|
4329
4324
|
|
|
4330
|
-
# @sg-ignore @config.fetch return type could not be inferred — @config is intentionally
|
|
4331
|
-
# dual-typed [Hash, EnvFallbackConfigLoader] throughout this codebase; Solargraph can't
|
|
4332
|
-
# unify #fetch across that union
|
|
4333
4325
|
sig { returns(String) }
|
|
4334
4326
|
def default_workspace_gid; end
|
|
4335
4327
|
|
|
@@ -4469,7 +4461,6 @@ module Checkoff
|
|
|
4469
4461
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
4470
4462
|
def finer(message = nil, &block); end
|
|
4471
4463
|
|
|
4472
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
4473
4464
|
sig { returns(Symbol) }
|
|
4474
4465
|
def log_level; end
|
|
4475
4466
|
|
|
@@ -4511,8 +4502,6 @@ module Checkoff
|
|
|
4511
4502
|
client:)); end
|
|
4512
4503
|
|
|
4513
4504
|
# sord warn - Asana::Resources::CustomField wasn't able to be resolved to a constant in this project
|
|
4514
|
-
# @sg-ignore nil check above is not flow-sensitive
|
|
4515
|
-
#
|
|
4516
4505
|
# _@param_ `workspace_name`
|
|
4517
4506
|
#
|
|
4518
4507
|
# _@param_ `custom_field_name`
|
|
@@ -4536,10 +4525,6 @@ module Checkoff
|
|
|
4536
4525
|
|
|
4537
4526
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
4538
4527
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
4539
|
-
# @sg-ignore Declared return type Array<String> does not match inferred type Array,Array<Array> —
|
|
4540
|
-
# fixing cleanly needs binding enum_value.fetch('name') to a typed local; leaving for a
|
|
4541
|
-
# follow-up code PR to keep this one annotation-only.
|
|
4542
|
-
#
|
|
4543
4528
|
# _@param_ `resource`
|
|
4544
4529
|
#
|
|
4545
4530
|
# _@param_ `custom_field_name`
|
|
@@ -4551,41 +4536,41 @@ module Checkoff
|
|
|
4551
4536
|
# _@param_ `resource`
|
|
4552
4537
|
#
|
|
4553
4538
|
# _@param_ `custom_field_name`
|
|
4554
|
-
sig { params(resource: T.any(Asana::Resources::Task, Asana::Resources::Project), custom_field_name: String).returns(T.nilable(T::Hash[
|
|
4539
|
+
sig { params(resource: T.any(Asana::Resources::Task, Asana::Resources::Project), custom_field_name: String).returns(T.nilable(T::Hash[String, Object])) }
|
|
4555
4540
|
def resource_custom_field_by_name(resource, custom_field_name); end
|
|
4556
4541
|
|
|
4557
4542
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
4558
4543
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
4559
|
-
# @sg-ignore nil check above is not flow-sensitive
|
|
4560
|
-
#
|
|
4561
4544
|
# _@param_ `resource`
|
|
4562
4545
|
#
|
|
4563
4546
|
# _@param_ `custom_field_name`
|
|
4564
|
-
sig { params(resource: T.any(Asana::Resources::Task, Asana::Resources::Project), custom_field_name: String).returns(T::Hash[
|
|
4547
|
+
sig { params(resource: T.any(Asana::Resources::Task, Asana::Resources::Project), custom_field_name: String).returns(T::Hash[String, Object]) }
|
|
4565
4548
|
def resource_custom_field_by_name_or_raise(resource, custom_field_name); end
|
|
4566
4549
|
|
|
4567
4550
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
4568
4551
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
4569
|
-
# @sg-ignore nil check above is not flow-sensitive
|
|
4570
|
-
#
|
|
4571
4552
|
# _@param_ `resource`
|
|
4572
4553
|
#
|
|
4573
4554
|
# _@param_ `custom_field_gid`
|
|
4574
|
-
sig { params(resource: T.any(Asana::Resources::Project, Asana::Resources::Task), custom_field_gid: String).returns(T::Hash[
|
|
4555
|
+
sig { params(resource: T.any(Asana::Resources::Project, Asana::Resources::Task), custom_field_gid: String).returns(T::Hash[String, Object]) }
|
|
4575
4556
|
def resource_custom_field_by_gid_or_raise(resource, custom_field_gid); end
|
|
4576
4557
|
|
|
4577
|
-
#
|
|
4578
|
-
#
|
|
4579
|
-
#
|
|
4558
|
+
# sord warn - "\"resource_subtype\"" does not appear to be a type
|
|
4559
|
+
# sord warn - "String} & Hash{\"enum_value\"" does not appear to be a type
|
|
4560
|
+
# sord warn - "Hash} & Hash{\"multi_enum_values\"" does not appear to be a type
|
|
4561
|
+
# sord warn - "\"gid\"" does not appear to be a type
|
|
4562
|
+
# sord warn - "String} & Hash{\"name\"" does not appear to be a type
|
|
4563
|
+
# rubocop:disable Layout/LineLength, YARD/TagTypeSyntax
|
|
4564
|
+
# rubocop:enable Layout/LineLength, YARD/TagTypeSyntax
|
|
4580
4565
|
#
|
|
4581
4566
|
# _@param_ `custom_field`
|
|
4582
|
-
sig { params(custom_field: T::Hash[
|
|
4567
|
+
sig { params(custom_field: T::Hash[T.untyped, T.any(T.untyped, T.any(T.untyped, T::Array[T::Hash[T.untyped, T.untyped]]))]).returns(T::Array[T::Hash[T.untyped, T.any(T.untyped, String)]]) }
|
|
4583
4568
|
def resource_custom_field_enum_values(custom_field); end
|
|
4584
4569
|
|
|
4585
4570
|
# _@param_ `custom_field`
|
|
4586
4571
|
#
|
|
4587
4572
|
# _@param_ `enum_value`
|
|
4588
|
-
sig { params(custom_field: T::Hash[
|
|
4573
|
+
sig { params(custom_field: T::Hash[String, Object], enum_value: T.nilable(T::Hash[String, String])).returns(T::Array[String]) }
|
|
4589
4574
|
def find_gids(custom_field, enum_value); end
|
|
4590
4575
|
|
|
4591
4576
|
sig { void }
|
|
@@ -4721,9 +4706,6 @@ module Checkoff
|
|
|
4721
4706
|
sig { params(api_params: T::Hash[String, Object], workspace_gid: String, extra_fields: T::Array[String]).returns(T::Enumerable[Asana::Resources::Task]) }
|
|
4722
4707
|
def iterated_raw_task_search(api_params, workspace_gid:, extra_fields:); end
|
|
4723
4708
|
|
|
4724
|
-
# @sg-ignore return type could not be inferred — bracket access on a Hash{Symbol=>undefined}
|
|
4725
|
-
# local doesn't narrow even with a T.cast on the return expression
|
|
4726
|
-
#
|
|
4727
4709
|
# _@param_ `extra_fields`
|
|
4728
4710
|
sig { params(extra_fields: T::Array[String]).returns(T::Hash[Symbol, T::Array[String]]) }
|
|
4729
4711
|
def calculate_api_options(extra_fields); end
|
|
@@ -4754,7 +4736,6 @@ module Checkoff
|
|
|
4754
4736
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
4755
4737
|
def finer(message = nil, &block); end
|
|
4756
4738
|
|
|
4757
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
4758
4739
|
sig { returns(Symbol) }
|
|
4759
4740
|
def log_level; end
|
|
4760
4741
|
|
|
@@ -4809,24 +4790,25 @@ module Checkoff
|
|
|
4809
4790
|
# _@param_ `task`
|
|
4810
4791
|
#
|
|
4811
4792
|
# _@param_ `task_selector` — Filter based on task details. Examples: [:tag, 'foo'] [:not, [:tag, 'foo']] [:tag, 'foo']
|
|
4812
|
-
sig { params(task: Asana::Resources::Task, task_selector: T.any(Symbol, T::Array[T.any(Symbol, Integer, T::Array[T.untyped])])).returns(T::Boolean) }
|
|
4793
|
+
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) }
|
|
4813
4794
|
def filter_via_task_selector(task, task_selector); end
|
|
4814
4795
|
|
|
4815
|
-
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
4816
4796
|
sig { returns(String) }
|
|
4817
4797
|
def self.project_name; end
|
|
4818
4798
|
|
|
4819
|
-
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
4820
4799
|
sig { returns(String) }
|
|
4821
4800
|
def self.workspace_name; end
|
|
4822
4801
|
|
|
4823
|
-
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
4824
4802
|
sig { returns([Symbol, T::Array[T.untyped]]) }
|
|
4825
4803
|
def self.task_selector; end
|
|
4826
4804
|
|
|
4827
4805
|
sig { void }
|
|
4828
4806
|
def self.run; end
|
|
4829
4807
|
|
|
4808
|
+
# _@param_ `parsed` — result of JSON.parse on a task selector
|
|
4809
|
+
sig { params(parsed: Object).returns([String, T::Array[T.untyped]]) }
|
|
4810
|
+
def self.validate_task_selector(parsed); end
|
|
4811
|
+
|
|
4830
4812
|
sig { returns(Checkoff::Tasks) }
|
|
4831
4813
|
attr_reader :tasks
|
|
4832
4814
|
|
|
@@ -4877,7 +4859,7 @@ module Checkoff
|
|
|
4877
4859
|
# _@param_ `project`
|
|
4878
4860
|
#
|
|
4879
4861
|
# _@param_ `project_selector` — Filter based on project details. Examples: [:tag, 'foo'] [:not, [:tag, 'foo']] [:tag, 'foo']
|
|
4880
|
-
sig { params(project: Asana::Resources::Project, project_selector: [Symbol, T::Array[T.untyped]]).returns(T::Boolean) }
|
|
4862
|
+
sig { params(project: Asana::Resources::Project, project_selector: T::Array[T.any(Symbol, String, T::Array[T.untyped])]).returns(T::Boolean) }
|
|
4881
4863
|
def filter_via_project_selector(project, project_selector); end
|
|
4882
4864
|
|
|
4883
4865
|
sig { void }
|
|
@@ -4971,7 +4953,7 @@ module Checkoff
|
|
|
4971
4953
|
# _@param_ `task_data`
|
|
4972
4954
|
#
|
|
4973
4955
|
# _@param_ `client`
|
|
4974
|
-
sig { params(task_data: T::Hash[
|
|
4956
|
+
sig { params(task_data: T::Hash[String, Object], client: Asana::Client).returns(Asana::Resources::Task) }
|
|
4975
4957
|
def h_to_task(task_data, client:); end
|
|
4976
4958
|
|
|
4977
4959
|
# _@param_ `task_hash`
|
|
@@ -4993,7 +4975,7 @@ module Checkoff
|
|
|
4993
4975
|
# _@param_ `key`
|
|
4994
4976
|
sig do
|
|
4995
4977
|
params(
|
|
4996
|
-
task_hash: T::Hash[
|
|
4978
|
+
task_hash: T::Hash[String, Object],
|
|
4997
4979
|
memberships: T::Array[T::Hash[T.untyped, T.untyped]],
|
|
4998
4980
|
resource: String,
|
|
4999
4981
|
key: String
|
|
@@ -5002,8 +4984,12 @@ module Checkoff
|
|
|
5002
4984
|
def unwrap_memberships(task_hash, memberships, resource, key); end
|
|
5003
4985
|
|
|
5004
4986
|
# _@param_ `task_hash`
|
|
5005
|
-
sig { params(task_hash: T::Hash[
|
|
4987
|
+
sig { params(task_hash: T::Hash[String, Object]).void }
|
|
5006
4988
|
def unwrap_all_memberships(task_hash); end
|
|
4989
|
+
|
|
4990
|
+
# _@param_ `task_hash`
|
|
4991
|
+
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]) }
|
|
4992
|
+
def assignee_hash(task_hash); end
|
|
5007
4993
|
end
|
|
5008
4994
|
|
|
5009
4995
|
# Utility methods for working with task dates and times
|
|
@@ -5027,17 +5013,11 @@ module Checkoff
|
|
|
5027
5013
|
def initialize(time_class: Time, date_class: Date, client: Checkoff::Clients.new.client, custom_fields: Checkoff::CustomFields.new(client:)); end
|
|
5028
5014
|
|
|
5029
5015
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
5030
|
-
# @sg-ignore return type could not be inferred — #to_time called via &. on a Date|Time
|
|
5031
|
-
# union receiver
|
|
5032
|
-
#
|
|
5033
5016
|
# _@param_ `task`
|
|
5034
5017
|
sig { params(task: Asana::Resources::Task).returns(T.nilable(Time)) }
|
|
5035
5018
|
def start_time(task); end
|
|
5036
5019
|
|
|
5037
5020
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
5038
|
-
# @sg-ignore return type could not be inferred — #to_time called via &. on a Date|Time
|
|
5039
|
-
# union receiver
|
|
5040
|
-
#
|
|
5041
5021
|
# _@param_ `task`
|
|
5042
5022
|
sig { params(task: Asana::Resources::Task).returns(T.nilable(Time)) }
|
|
5043
5023
|
def due_time(task); end
|
|
@@ -5076,9 +5056,6 @@ module Checkoff
|
|
|
5076
5056
|
class ThreadLocal
|
|
5077
5057
|
# sord warn - T wasn't able to be resolved to a constant in this project
|
|
5078
5058
|
# sord warn - T wasn't able to be resolved to a constant in this project
|
|
5079
|
-
# @sg-ignore return type could not be inferred — Solargraph's generic/yield-return
|
|
5080
|
-
# inference gap for #with_thread_local_variable
|
|
5081
|
-
#
|
|
5082
5059
|
# _@param_ `name`
|
|
5083
5060
|
#
|
|
5084
5061
|
# _@param_ `value`
|
|
@@ -5097,8 +5074,6 @@ module Checkoff
|
|
|
5097
5074
|
sig { params(config: T::Hash[Symbol, T.untyped], sym: Symbol, yaml_filename: String).void }
|
|
5098
5075
|
def initialize(config, sym, yaml_filename); end
|
|
5099
5076
|
|
|
5100
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
5101
|
-
#
|
|
5102
5077
|
# _@param_ `key`
|
|
5103
5078
|
sig { params(key: Symbol).returns(Object) }
|
|
5104
5079
|
def [](key); end
|
|
@@ -5137,8 +5112,8 @@ module Checkoff
|
|
|
5137
5112
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
5138
5113
|
# _@param_ `project_obj`
|
|
5139
5114
|
#
|
|
5140
|
-
# _@param_ `project` — -
|
|
5141
|
-
sig { params(project_obj: Asana::Resources::Project, project: T.any(String, Symbol)).returns(T::Hash[
|
|
5115
|
+
# _@param_ `project` — - a String is a project name
|
|
5116
|
+
sig { params(project_obj: Asana::Resources::Project, project: T.nilable(T.any(String, Symbol))).returns(T::Hash[String, Object]) }
|
|
5142
5117
|
def project_to_h(project_obj, project: :not_specified); end
|
|
5143
5118
|
|
|
5144
5119
|
# _@param_ `project_hash`
|
|
@@ -5248,6 +5223,10 @@ module Checkoff
|
|
|
5248
5223
|
sig { params(param_name: String).returns(String) }
|
|
5249
5224
|
def fetch_solo_param(param_name); end
|
|
5250
5225
|
|
|
5226
|
+
# Implemented by every subclass.
|
|
5227
|
+
sig { returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
|
|
5228
|
+
def convert; end
|
|
5229
|
+
|
|
5251
5230
|
sig { returns(String) }
|
|
5252
5231
|
attr_reader :gid
|
|
5253
5232
|
|
|
@@ -5339,7 +5318,6 @@ module Checkoff
|
|
|
5339
5318
|
sig { params(date_url_params: T::Hash[String, T::Array[String]]).void }
|
|
5340
5319
|
def initialize(date_url_params:); end
|
|
5341
5320
|
|
|
5342
|
-
# @sg-ignore out can genuinely be nil if none of the 3 known prefixes matched; relies on the raise above it
|
|
5343
5321
|
sig { returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
|
|
5344
5322
|
def convert; end
|
|
5345
5323
|
|
|
@@ -5371,8 +5349,6 @@ module Checkoff
|
|
|
5371
5349
|
sig { params(prefix: String).returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
|
|
5372
5350
|
def handle_within_next(prefix); end
|
|
5373
5351
|
|
|
5374
|
-
# @sg-ignore value.length == 1 guard above isn't inferred as narrowing value[0] to non-nil
|
|
5375
|
-
#
|
|
5376
5352
|
# _@param_ `param_key`
|
|
5377
5353
|
sig { params(param_key: String).returns(String) }
|
|
5378
5354
|
def get_single_param(param_key); end
|
|
@@ -5385,6 +5361,10 @@ module Checkoff
|
|
|
5385
5361
|
sig { params(prefix: String).void }
|
|
5386
5362
|
def validate_unit_is_day!(prefix); end
|
|
5387
5363
|
|
|
5364
|
+
# _@param_ `out`
|
|
5365
|
+
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])]]) }
|
|
5366
|
+
def ensure_matched!(out); end
|
|
5367
|
+
|
|
5388
5368
|
sig { returns(T::Hash[String, T::Array[String]]) }
|
|
5389
5369
|
attr_reader :date_url_params
|
|
5390
5370
|
end
|
|
@@ -5420,7 +5400,6 @@ module Checkoff
|
|
|
5420
5400
|
sig { params(verb: String).returns(T::Array[String]) }
|
|
5421
5401
|
def convert_from_projects_and_sections(verb); end
|
|
5422
5402
|
|
|
5423
|
-
# @sg-ignore abstract method always raises; declared type documents the override contract, not this body
|
|
5424
5403
|
sig { returns(T::Array[String]) }
|
|
5425
5404
|
def convert; end
|
|
5426
5405
|
|
|
@@ -5577,16 +5556,12 @@ module Checkoff
|
|
|
5577
5556
|
sig { returns(T::Hash[String, T::Hash[T.untyped, T.untyped]]) }
|
|
5578
5557
|
def by_custom_field; end
|
|
5579
5558
|
|
|
5580
|
-
# @sg-ignore `unless variant_class.nil?` return value isn't inferred as the declared tuple type
|
|
5581
|
-
#
|
|
5582
5559
|
# _@param_ `gid`
|
|
5583
5560
|
#
|
|
5584
5561
|
# _@param_ `single_custom_field_params`
|
|
5585
5562
|
sig { params(gid: String, single_custom_field_params: T::Hash[String, T::Array[String]]).returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
|
|
5586
5563
|
def convert_single_custom_field_params(gid, single_custom_field_params); end
|
|
5587
5564
|
|
|
5588
|
-
# @sg-ignore split(...)[n]'s nilable Array indexing isn't inferred as the declared String return
|
|
5589
|
-
#
|
|
5590
5565
|
# _@param_ `key`
|
|
5591
5566
|
sig { params(key: String).returns(String) }
|
|
5592
5567
|
def gid_from_custom_field_key(key); end
|
|
@@ -5635,7 +5610,7 @@ module Checkoff
|
|
|
5635
5610
|
# _@param_ `asana_event`
|
|
5636
5611
|
#
|
|
5637
5612
|
# _@param_ `failures`
|
|
5638
|
-
sig { params(filter: T::Hash[T.
|
|
5613
|
+
sig { params(filter: T::Hash[String, T.any(String, T::Array[String])], asana_event: T::Hash[T.untyped, T.untyped], failures: T::Array[String]).returns(T::Boolean) }
|
|
5639
5614
|
def filter_matches_asana_event?(filter, asana_event, failures); end
|
|
5640
5615
|
|
|
5641
5616
|
# _@param_ `key`
|
|
@@ -5678,7 +5653,6 @@ module Checkoff
|
|
|
5678
5653
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
5679
5654
|
def finer(message = nil, &block); end
|
|
5680
5655
|
|
|
5681
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
5682
5656
|
sig { returns(Symbol) }
|
|
5683
5657
|
def log_level; end
|
|
5684
5658
|
end
|
|
@@ -5789,7 +5763,6 @@ module Checkoff
|
|
|
5789
5763
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
5790
5764
|
def finer(message = nil, &block); end
|
|
5791
5765
|
|
|
5792
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
5793
5766
|
sig { returns(Symbol) }
|
|
5794
5767
|
def log_level; end
|
|
5795
5768
|
|
|
@@ -5817,13 +5790,12 @@ module Checkoff
|
|
|
5817
5790
|
# Base class to evaluate Asana resource selectors against an Asana resource
|
|
5818
5791
|
class SelectorEvaluator
|
|
5819
5792
|
# _@param_ `selector`
|
|
5820
|
-
sig { params(selector: T.any(Symbol, T::Array[T.any(Symbol, Integer, T::Array[T.untyped])])).returns(T.nilable(T.any(T::Boolean, Object, T::Array[T.untyped]))) }
|
|
5793
|
+
sig { params(selector: T.any(Symbol, T::Array[T.any(Symbol, String, Integer, T::Array[T.untyped])])).returns(T.nilable(T.any(T::Boolean, Object, T::Array[T.untyped]))) }
|
|
5821
5794
|
def evaluate(selector); end
|
|
5822
5795
|
|
|
5823
5796
|
sig { returns(T::Hash[T.untyped, T.untyped]) }
|
|
5824
5797
|
def initializer_kwargs; end
|
|
5825
5798
|
|
|
5826
|
-
# @sg-ignore abstract method always raises; declared type documents the override contract, not this body
|
|
5827
5799
|
sig { returns(T::Array[T.class_of(Checkoff::SelectorClasses::FunctionEvaluator)]) }
|
|
5828
5800
|
def function_evaluators; end
|
|
5829
5801
|
|
|
@@ -5904,9 +5876,6 @@ module Checkoff
|
|
|
5904
5876
|
def evaluate_arg?(_index); end
|
|
5905
5877
|
|
|
5906
5878
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
5907
|
-
# @sg-ignore Hash#fetch generic<X> leak on rbs >= 4.1.0, fix in progress upstream
|
|
5908
|
-
# https://github.com/castwide/solargraph/pull/1228
|
|
5909
|
-
#
|
|
5910
5879
|
# _@param_ `task`
|
|
5911
5880
|
#
|
|
5912
5881
|
# _@param_ `project_name`
|
|
@@ -5996,9 +5965,6 @@ module Checkoff
|
|
|
5996
5965
|
def matches?; end
|
|
5997
5966
|
|
|
5998
5967
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
5999
|
-
# @sg-ignore Checkoff::SelectorClasses::Task::UnassignedPFunctionEvaluator#evaluate
|
|
6000
|
-
# return type could not be inferred
|
|
6001
|
-
#
|
|
6002
5968
|
# _@param_ `task`
|
|
6003
5969
|
sig { params(task: Asana::Resources::Task).returns(T::Boolean) }
|
|
6004
5970
|
def evaluate(task); end
|
|
@@ -6012,9 +5978,6 @@ module Checkoff
|
|
|
6012
5978
|
def matches?; end
|
|
6013
5979
|
|
|
6014
5980
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
6015
|
-
# @sg-ignore Checkoff::SelectorClasses::Task::DueDateSetPFunctionEvaluator#evaluate
|
|
6016
|
-
# return type could not be inferred
|
|
6017
|
-
#
|
|
6018
5981
|
# _@param_ `task`
|
|
6019
5982
|
sig { params(task: Asana::Resources::Task).returns(T::Boolean) }
|
|
6020
5983
|
def evaluate(task); end
|
|
@@ -6117,9 +6080,6 @@ module Checkoff
|
|
|
6117
6080
|
def evaluate_arg?(_index); end
|
|
6118
6081
|
|
|
6119
6082
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
6120
|
-
# @sg-ignore Checkoff::SelectorClasses::Task::MilestonePFunctionEvaluator#evaluate
|
|
6121
|
-
# return type could not be inferred
|
|
6122
|
-
#
|
|
6123
6083
|
# _@param_ `task`
|
|
6124
6084
|
sig { params(task: Asana::Resources::Task).returns(T::Boolean) }
|
|
6125
6085
|
def evaluate(task); end
|
|
@@ -6156,7 +6116,7 @@ module Checkoff
|
|
|
6156
6116
|
# _@param_ `_kwargs`
|
|
6157
6117
|
sig do
|
|
6158
6118
|
params(
|
|
6159
|
-
selector: T.any([Symbol, T::Array[T.untyped]],
|
|
6119
|
+
selector: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol),
|
|
6160
6120
|
tasks: Checkoff::Tasks,
|
|
6161
6121
|
timelines: Checkoff::Timelines,
|
|
6162
6122
|
custom_fields: Checkoff::CustomFields,
|
|
@@ -6174,7 +6134,7 @@ module Checkoff
|
|
|
6174
6134
|
sig { returns(Checkoff::CustomFields) }
|
|
6175
6135
|
attr_reader :custom_fields
|
|
6176
6136
|
|
|
6177
|
-
sig { returns([Symbol, T::Array[T.untyped]]) }
|
|
6137
|
+
sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
|
|
6178
6138
|
attr_reader :selector
|
|
6179
6139
|
end
|
|
6180
6140
|
end
|
|
@@ -6377,9 +6337,6 @@ module Checkoff
|
|
|
6377
6337
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6378
6338
|
# sord warn - boolish is probably not a type, but using anyway
|
|
6379
6339
|
# sord warn - boolish wasn't able to be resolved to a constant in this project
|
|
6380
|
-
# @sg-ignore Checkoff::SelectorClasses::Common::NameStartsWithPFunctionEvaluator#evaluate
|
|
6381
|
-
# return type could not be inferred
|
|
6382
|
-
#
|
|
6383
6340
|
# _@param_ `resource`
|
|
6384
6341
|
#
|
|
6385
6342
|
# _@param_ `prefix`
|
|
@@ -6394,8 +6351,6 @@ module Checkoff
|
|
|
6394
6351
|
|
|
6395
6352
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
6396
6353
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6397
|
-
# @sg-ignore selector is only String here per matches?'s is_a?(String) check, in another method
|
|
6398
|
-
#
|
|
6399
6354
|
# _@param_ `_resource`
|
|
6400
6355
|
sig { params(_resource: T.any(Asana::Resources::Task, Asana::Resources::Project)).returns(String) }
|
|
6401
6356
|
def evaluate(_resource); end
|
|
@@ -6408,10 +6363,10 @@ module Checkoff
|
|
|
6408
6363
|
# _@param_ `custom_fields`
|
|
6409
6364
|
#
|
|
6410
6365
|
# _@param_ `_kwargs`
|
|
6411
|
-
sig { params(selector: T.any([Symbol, T::Array[T.untyped]],
|
|
6366
|
+
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 }
|
|
6412
6367
|
def initialize(selector:, custom_fields:, **_kwargs); end
|
|
6413
6368
|
|
|
6414
|
-
sig { returns(T.any([Symbol, T::Array[T.untyped]],
|
|
6369
|
+
sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
|
|
6415
6370
|
attr_reader :selector
|
|
6416
6371
|
|
|
6417
6372
|
sig { returns(Checkoff::CustomFields) }
|
|
@@ -6429,8 +6384,6 @@ module Checkoff
|
|
|
6429
6384
|
def matches?; end
|
|
6430
6385
|
|
|
6431
6386
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6432
|
-
# @sg-ignore nilable return from an @!parse-declared method isn't inferred
|
|
6433
|
-
#
|
|
6434
6387
|
# _@param_ `resource`
|
|
6435
6388
|
sig { params(resource: Asana::Resources::Project).returns(T.nilable(String)) }
|
|
6436
6389
|
def evaluate(resource); end
|
|
@@ -6490,7 +6443,7 @@ module Checkoff
|
|
|
6490
6443
|
# _@param_ `_kwargs`
|
|
6491
6444
|
sig do
|
|
6492
6445
|
params(
|
|
6493
|
-
selector: T.any([Symbol, T::Array[T.untyped]],
|
|
6446
|
+
selector: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol),
|
|
6494
6447
|
projects: Checkoff::Projects,
|
|
6495
6448
|
portfolios: Checkoff::Portfolios,
|
|
6496
6449
|
workspaces: Checkoff::Workspaces,
|
|
@@ -6499,7 +6452,7 @@ module Checkoff
|
|
|
6499
6452
|
end
|
|
6500
6453
|
def initialize(selector:, projects:, portfolios:, workspaces:, **_kwargs); end
|
|
6501
6454
|
|
|
6502
|
-
sig { returns([Symbol, T::Array[T.untyped]]) }
|
|
6455
|
+
sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
|
|
6503
6456
|
attr_reader :selector
|
|
6504
6457
|
|
|
6505
6458
|
sig { returns(Checkoff::Projects) }
|
|
@@ -6523,8 +6476,6 @@ module Checkoff
|
|
|
6523
6476
|
def matches?; end
|
|
6524
6477
|
|
|
6525
6478
|
# sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
|
|
6526
|
-
# @sg-ignore String, nil safe-nav chain isn't inferred as returning Boolean
|
|
6527
|
-
#
|
|
6528
6479
|
# _@param_ `section`
|
|
6529
6480
|
sig { params(section: Asana::Resources::Section).returns(T::Boolean) }
|
|
6530
6481
|
def evaluate(section); end
|
|
@@ -6555,7 +6506,7 @@ module Checkoff
|
|
|
6555
6506
|
# _@param_ `kwargs`
|
|
6556
6507
|
sig do
|
|
6557
6508
|
params(
|
|
6558
|
-
selector: T.any([Symbol, T::Array[T.untyped]],
|
|
6509
|
+
selector: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol),
|
|
6559
6510
|
sections: Checkoff::Sections,
|
|
6560
6511
|
client: Asana::Client,
|
|
6561
6512
|
kwargs: T::Hash[T.untyped, T.untyped]
|
|
@@ -6563,7 +6514,7 @@ module Checkoff
|
|
|
6563
6514
|
end
|
|
6564
6515
|
def initialize(selector:, sections:, client:, **kwargs); end
|
|
6565
6516
|
|
|
6566
|
-
sig { returns([Symbol, T::Array[T.untyped]]) }
|
|
6517
|
+
sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
|
|
6567
6518
|
attr_reader :selector
|
|
6568
6519
|
|
|
6569
6520
|
# sord warn - Asana::Client wasn't able to be resolved to a constant in this project
|
|
@@ -6583,13 +6534,10 @@ module Checkoff
|
|
|
6583
6534
|
sig { params(_index: Integer).returns(T::Boolean) }
|
|
6584
6535
|
def evaluate_arg?(_index); end
|
|
6585
6536
|
|
|
6586
|
-
# @sg-ignore return type could not be inferred — abstract method body is only `raise`
|
|
6587
6537
|
sig { returns(T::Boolean) }
|
|
6588
6538
|
def matches?; end
|
|
6589
6539
|
|
|
6590
6540
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
6591
|
-
# @sg-ignore return type could not be inferred — abstract method body is only `raise`
|
|
6592
|
-
#
|
|
6593
6541
|
# _@param_ `_task`
|
|
6594
6542
|
#
|
|
6595
6543
|
# _@param_ `_args`
|
|
@@ -6599,7 +6547,7 @@ module Checkoff
|
|
|
6599
6547
|
# _@param_ `object`
|
|
6600
6548
|
#
|
|
6601
6549
|
# _@param_ `fn_name`
|
|
6602
|
-
sig { params(object:
|
|
6550
|
+
sig { params(object: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol), fn_name: Symbol).returns(T::Boolean) }
|
|
6603
6551
|
def fn?(object, fn_name); end
|
|
6604
6552
|
|
|
6605
6553
|
# Concrete subclasses each declare their own initialize with their
|
|
@@ -6639,7 +6587,6 @@ module Checkoff
|
|
|
6639
6587
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
6640
6588
|
def finer(message = nil, &block); end
|
|
6641
6589
|
|
|
6642
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
6643
6590
|
sig { returns(Symbol) }
|
|
6644
6591
|
def log_level; end
|
|
6645
6592
|
end
|
|
@@ -6788,8 +6735,8 @@ end - [Checkoff::SelectorClasses::Section::FunctionEvaluator]).freeze, T.untyped
|
|
|
6788
6735
|
sig { returns(T::Hash[T.untyped, T.untyped]) }
|
|
6789
6736
|
def initializer_kwargs; end
|
|
6790
6737
|
|
|
6791
|
-
# sord warn - Asana::Resources::
|
|
6792
|
-
sig { returns(Asana::Resources::
|
|
6738
|
+
# sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
|
|
6739
|
+
sig { returns(Asana::Resources::Section) }
|
|
6793
6740
|
attr_reader :item
|
|
6794
6741
|
|
|
6795
6742
|
sig { returns(Checkoff::Sections) }
|
|
@@ -6832,7 +6779,6 @@ module Logging
|
|
|
6832
6779
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
6833
6780
|
def finer(message = nil, &block); end
|
|
6834
6781
|
|
|
6835
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
6836
6782
|
sig { returns(Symbol) }
|
|
6837
6783
|
def log_level; end
|
|
6838
6784
|
end
|
|
@@ -6853,11 +6799,11 @@ module Asana
|
|
|
6853
6799
|
# Public: The base resource class which provides some sugar over common
|
|
6854
6800
|
# resource functionality.
|
|
6855
6801
|
class Resource
|
|
6856
|
-
sig { returns(T::Hash[
|
|
6802
|
+
sig { returns(T::Hash[String, Object]) }
|
|
6857
6803
|
def marshal_dump; end
|
|
6858
6804
|
|
|
6859
6805
|
# _@param_ `data`
|
|
6860
|
-
sig { params(data: T::Hash[
|
|
6806
|
+
sig { params(data: T::Hash[String, Object]).void }
|
|
6861
6807
|
def marshal_load(data); end
|
|
6862
6808
|
end
|
|
6863
6809
|
end
|