checkoff 0.258.0 → 0.261.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 +26 -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 +99 -146
- data/sig/checkoff.rbs +86 -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.261.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.261.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
|
|
@@ -3604,10 +3608,12 @@ module Checkoff
|
|
|
3604
3608
|
def projects_by_workspace_name(workspace_name, extra_fields: []); end
|
|
3605
3609
|
|
|
3606
3610
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
3611
|
+
# sord warn - "\"unwrapped\"" does not appear to be a type
|
|
3612
|
+
# sord warn - "Hash{\"custom_fields\" => Hash{String =" does not appear to be a type
|
|
3607
3613
|
# _@param_ `project_obj`
|
|
3608
3614
|
#
|
|
3609
|
-
# _@param_ `project` — -
|
|
3610
|
-
sig { params(project_obj: Asana::Resources::Project, project: T.any(String, Symbol)).returns(T::Hash[T.untyped, T.untyped]) }
|
|
3615
|
+
# _@param_ `project` — - a String is a project name
|
|
3616
|
+
sig { params(project_obj: Asana::Resources::Project, project: T.nilable(T.any(String, Symbol))).returns(T::Hash[T.untyped, T.untyped]) }
|
|
3611
3617
|
def project_to_h(project_obj, project: :not_specified); end
|
|
3612
3618
|
|
|
3613
3619
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
@@ -3621,7 +3627,7 @@ module Checkoff
|
|
|
3621
3627
|
# _@param_ `project`
|
|
3622
3628
|
#
|
|
3623
3629
|
# _@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) }
|
|
3630
|
+
sig { params(project: Asana::Resources::Project, period: T.any(Symbol, T::Array[T.any(Symbol, Integer)])).returns(T::Boolean) }
|
|
3625
3631
|
def project_ready?(project, period: :now_or_before); end
|
|
3626
3632
|
|
|
3627
3633
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
@@ -3630,7 +3636,7 @@ module Checkoff
|
|
|
3630
3636
|
# _@param_ `field_name`
|
|
3631
3637
|
#
|
|
3632
3638
|
# _@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) }
|
|
3639
|
+
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
3640
|
def in_period?(project, field_name, period); end
|
|
3635
3641
|
|
|
3636
3642
|
sig { returns(T::Hash[T.untyped, T.untyped]) }
|
|
@@ -3668,7 +3674,6 @@ module Checkoff
|
|
|
3668
3674
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
3669
3675
|
def finer(message = nil, &block); end
|
|
3670
3676
|
|
|
3671
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
3672
3677
|
sig { returns(Symbol) }
|
|
3673
3678
|
def log_level; end
|
|
3674
3679
|
|
|
@@ -3794,7 +3799,6 @@ module Checkoff
|
|
|
3794
3799
|
def tasks(workspace_name, project_name, section_name, only_uncompleted: true, extra_fields: []); end
|
|
3795
3800
|
|
|
3796
3801
|
# Pulls just names of tasks from a given section.
|
|
3797
|
-
# @sg-ignore Task#name is nilable; task names are assumed present here
|
|
3798
3802
|
#
|
|
3799
3803
|
# _@param_ `workspace_name`
|
|
3800
3804
|
#
|
|
@@ -3805,8 +3809,6 @@ module Checkoff
|
|
|
3805
3809
|
def section_task_names(workspace_name, project_name, section_name); end
|
|
3806
3810
|
|
|
3807
3811
|
# 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
3812
|
# _@param_ `workspace_name`
|
|
3811
3813
|
#
|
|
3812
3814
|
# _@param_ `project_name`
|
|
@@ -3901,8 +3903,6 @@ module Checkoff
|
|
|
3901
3903
|
def file_task_by_section(by_section, task, project_gid); end
|
|
3902
3904
|
|
|
3903
3905
|
# 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
3906
|
# _@param_ `workspace_name`
|
|
3907
3907
|
#
|
|
3908
3908
|
# _@param_ `project_name`
|
|
@@ -3932,7 +3932,6 @@ module Checkoff
|
|
|
3932
3932
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
3933
3933
|
def finer(message = nil, &block); end
|
|
3934
3934
|
|
|
3935
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
3936
3935
|
sig { returns(Symbol) }
|
|
3937
3936
|
def log_level; end
|
|
3938
3937
|
|
|
@@ -4010,8 +4009,6 @@ module Checkoff
|
|
|
4010
4009
|
# expected to move to the new-style way of representing sections
|
|
4011
4010
|
# as memberships with a separate API within a task.
|
|
4012
4011
|
#
|
|
4013
|
-
# @sg-ignore Checkoff::Subtasks#subtask_section? return type could not be inferred
|
|
4014
|
-
#
|
|
4015
4012
|
# _@param_ `subtask`
|
|
4016
4013
|
sig { params(subtask: Asana::Resources::Task).returns(T.nilable(T::Boolean)) }
|
|
4017
4014
|
def subtask_section?(subtask); end
|
|
@@ -4101,6 +4098,12 @@ module Checkoff
|
|
|
4101
4098
|
sig { void }
|
|
4102
4099
|
def self.run; end
|
|
4103
4100
|
|
|
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
|
+
|
|
4104
4107
|
sig { returns(Checkoff::Workspaces) }
|
|
4105
4108
|
attr_reader :workspaces
|
|
4106
4109
|
|
|
@@ -4185,7 +4188,7 @@ module Checkoff
|
|
|
4185
4188
|
# _@param_ `task_data`
|
|
4186
4189
|
#
|
|
4187
4190
|
# _@param_ `section`
|
|
4188
|
-
sig { params(task_data: T::Hash[
|
|
4191
|
+
sig { params(task_data: T::Hash[String, Object], section: Asana::Resources::Section).returns(T::Boolean) }
|
|
4189
4192
|
def task_data_dependent_on_previous_section_last_milestone?(task_data, section); end
|
|
4190
4193
|
|
|
4191
4194
|
sig { void }
|
|
@@ -4232,8 +4235,6 @@ module Checkoff
|
|
|
4232
4235
|
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
4236
|
|
|
4234
4237
|
# 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
4238
|
# _@param_ `workspace_name`
|
|
4238
4239
|
#
|
|
4239
4240
|
# _@param_ `portfolio_name`
|
|
@@ -4304,7 +4305,7 @@ module Checkoff
|
|
|
4304
4305
|
# _@param_ `client`
|
|
4305
4306
|
#
|
|
4306
4307
|
# _@param_ `asana_workspace`
|
|
4307
|
-
sig { params(config: T.any(T::Hash[
|
|
4308
|
+
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
4309
|
def initialize(config: Checkoff::Internal::ConfigLoader.load(:asana), client: Checkoff::Clients.new(config:).client, asana_workspace: Asana::Resources::Workspace); end
|
|
4309
4310
|
|
|
4310
4311
|
# sord warn - Asana::Resources::Workspace wasn't able to be resolved to a constant in this project
|
|
@@ -4315,21 +4316,14 @@ module Checkoff
|
|
|
4315
4316
|
def workspace(workspace_name); end
|
|
4316
4317
|
|
|
4317
4318
|
# 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
4319
|
sig { returns(Asana::Resources::Workspace) }
|
|
4321
4320
|
def default_workspace; end
|
|
4322
4321
|
|
|
4323
4322
|
# 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
4323
|
# _@param_ `workspace_name`
|
|
4327
4324
|
sig { params(workspace_name: T.any(String, Symbol)).returns(Asana::Resources::Workspace) }
|
|
4328
4325
|
def workspace_or_raise(workspace_name); end
|
|
4329
4326
|
|
|
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
4327
|
sig { returns(String) }
|
|
4334
4328
|
def default_workspace_gid; end
|
|
4335
4329
|
|
|
@@ -4469,7 +4463,6 @@ module Checkoff
|
|
|
4469
4463
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
4470
4464
|
def finer(message = nil, &block); end
|
|
4471
4465
|
|
|
4472
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
4473
4466
|
sig { returns(Symbol) }
|
|
4474
4467
|
def log_level; end
|
|
4475
4468
|
|
|
@@ -4511,8 +4504,6 @@ module Checkoff
|
|
|
4511
4504
|
client:)); end
|
|
4512
4505
|
|
|
4513
4506
|
# 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
4507
|
# _@param_ `workspace_name`
|
|
4517
4508
|
#
|
|
4518
4509
|
# _@param_ `custom_field_name`
|
|
@@ -4536,10 +4527,6 @@ module Checkoff
|
|
|
4536
4527
|
|
|
4537
4528
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
4538
4529
|
# 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
4530
|
# _@param_ `resource`
|
|
4544
4531
|
#
|
|
4545
4532
|
# _@param_ `custom_field_name`
|
|
@@ -4551,41 +4538,41 @@ module Checkoff
|
|
|
4551
4538
|
# _@param_ `resource`
|
|
4552
4539
|
#
|
|
4553
4540
|
# _@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[
|
|
4541
|
+
sig { params(resource: T.any(Asana::Resources::Task, Asana::Resources::Project), custom_field_name: String).returns(T.nilable(T::Hash[String, Object])) }
|
|
4555
4542
|
def resource_custom_field_by_name(resource, custom_field_name); end
|
|
4556
4543
|
|
|
4557
4544
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
4558
4545
|
# 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
4546
|
# _@param_ `resource`
|
|
4562
4547
|
#
|
|
4563
4548
|
# _@param_ `custom_field_name`
|
|
4564
|
-
sig { params(resource: T.any(Asana::Resources::Task, Asana::Resources::Project), custom_field_name: String).returns(T::Hash[
|
|
4549
|
+
sig { params(resource: T.any(Asana::Resources::Task, Asana::Resources::Project), custom_field_name: String).returns(T::Hash[String, Object]) }
|
|
4565
4550
|
def resource_custom_field_by_name_or_raise(resource, custom_field_name); end
|
|
4566
4551
|
|
|
4567
4552
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
4568
4553
|
# 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
4554
|
# _@param_ `resource`
|
|
4572
4555
|
#
|
|
4573
4556
|
# _@param_ `custom_field_gid`
|
|
4574
|
-
sig { params(resource: T.any(Asana::Resources::Project, Asana::Resources::Task), custom_field_gid: String).returns(T::Hash[
|
|
4557
|
+
sig { params(resource: T.any(Asana::Resources::Project, Asana::Resources::Task), custom_field_gid: String).returns(T::Hash[String, Object]) }
|
|
4575
4558
|
def resource_custom_field_by_gid_or_raise(resource, custom_field_gid); end
|
|
4576
4559
|
|
|
4577
|
-
#
|
|
4578
|
-
#
|
|
4579
|
-
#
|
|
4560
|
+
# sord warn - "\"resource_subtype\"" does not appear to be a type
|
|
4561
|
+
# sord warn - "String} & Hash{\"enum_value\"" does not appear to be a type
|
|
4562
|
+
# sord warn - "Hash} & Hash{\"multi_enum_values\"" does not appear to be a type
|
|
4563
|
+
# sord warn - "\"gid\"" does not appear to be a type
|
|
4564
|
+
# sord warn - "String} & Hash{\"name\"" does not appear to be a type
|
|
4565
|
+
# rubocop:disable Layout/LineLength, YARD/TagTypeSyntax
|
|
4566
|
+
# rubocop:enable Layout/LineLength, YARD/TagTypeSyntax
|
|
4580
4567
|
#
|
|
4581
4568
|
# _@param_ `custom_field`
|
|
4582
|
-
sig { params(custom_field: T::Hash[
|
|
4569
|
+
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
4570
|
def resource_custom_field_enum_values(custom_field); end
|
|
4584
4571
|
|
|
4585
4572
|
# _@param_ `custom_field`
|
|
4586
4573
|
#
|
|
4587
4574
|
# _@param_ `enum_value`
|
|
4588
|
-
sig { params(custom_field: T::Hash[
|
|
4575
|
+
sig { params(custom_field: T::Hash[String, Object], enum_value: T.nilable(T::Hash[String, String])).returns(T::Array[String]) }
|
|
4589
4576
|
def find_gids(custom_field, enum_value); end
|
|
4590
4577
|
|
|
4591
4578
|
sig { void }
|
|
@@ -4721,9 +4708,6 @@ module Checkoff
|
|
|
4721
4708
|
sig { params(api_params: T::Hash[String, Object], workspace_gid: String, extra_fields: T::Array[String]).returns(T::Enumerable[Asana::Resources::Task]) }
|
|
4722
4709
|
def iterated_raw_task_search(api_params, workspace_gid:, extra_fields:); end
|
|
4723
4710
|
|
|
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
4711
|
# _@param_ `extra_fields`
|
|
4728
4712
|
sig { params(extra_fields: T::Array[String]).returns(T::Hash[Symbol, T::Array[String]]) }
|
|
4729
4713
|
def calculate_api_options(extra_fields); end
|
|
@@ -4754,7 +4738,6 @@ module Checkoff
|
|
|
4754
4738
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
4755
4739
|
def finer(message = nil, &block); end
|
|
4756
4740
|
|
|
4757
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
4758
4741
|
sig { returns(Symbol) }
|
|
4759
4742
|
def log_level; end
|
|
4760
4743
|
|
|
@@ -4809,24 +4792,25 @@ module Checkoff
|
|
|
4809
4792
|
# _@param_ `task`
|
|
4810
4793
|
#
|
|
4811
4794
|
# _@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) }
|
|
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) }
|
|
4813
4796
|
def filter_via_task_selector(task, task_selector); end
|
|
4814
4797
|
|
|
4815
|
-
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
4816
4798
|
sig { returns(String) }
|
|
4817
4799
|
def self.project_name; end
|
|
4818
4800
|
|
|
4819
|
-
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
4820
4801
|
sig { returns(String) }
|
|
4821
4802
|
def self.workspace_name; end
|
|
4822
4803
|
|
|
4823
|
-
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
4824
4804
|
sig { returns([Symbol, T::Array[T.untyped]]) }
|
|
4825
4805
|
def self.task_selector; end
|
|
4826
4806
|
|
|
4827
4807
|
sig { void }
|
|
4828
4808
|
def self.run; end
|
|
4829
4809
|
|
|
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
|
+
|
|
4830
4814
|
sig { returns(Checkoff::Tasks) }
|
|
4831
4815
|
attr_reader :tasks
|
|
4832
4816
|
|
|
@@ -4877,7 +4861,7 @@ module Checkoff
|
|
|
4877
4861
|
# _@param_ `project`
|
|
4878
4862
|
#
|
|
4879
4863
|
# _@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) }
|
|
4864
|
+
sig { params(project: Asana::Resources::Project, project_selector: T::Array[T.any(Symbol, String, T::Array[T.untyped])]).returns(T::Boolean) }
|
|
4881
4865
|
def filter_via_project_selector(project, project_selector); end
|
|
4882
4866
|
|
|
4883
4867
|
sig { void }
|
|
@@ -4971,7 +4955,7 @@ module Checkoff
|
|
|
4971
4955
|
# _@param_ `task_data`
|
|
4972
4956
|
#
|
|
4973
4957
|
# _@param_ `client`
|
|
4974
|
-
sig { params(task_data: T::Hash[
|
|
4958
|
+
sig { params(task_data: T::Hash[String, Object], client: Asana::Client).returns(Asana::Resources::Task) }
|
|
4975
4959
|
def h_to_task(task_data, client:); end
|
|
4976
4960
|
|
|
4977
4961
|
# _@param_ `task_hash`
|
|
@@ -4993,7 +4977,7 @@ module Checkoff
|
|
|
4993
4977
|
# _@param_ `key`
|
|
4994
4978
|
sig do
|
|
4995
4979
|
params(
|
|
4996
|
-
task_hash: T::Hash[
|
|
4980
|
+
task_hash: T::Hash[String, Object],
|
|
4997
4981
|
memberships: T::Array[T::Hash[T.untyped, T.untyped]],
|
|
4998
4982
|
resource: String,
|
|
4999
4983
|
key: String
|
|
@@ -5002,8 +4986,12 @@ module Checkoff
|
|
|
5002
4986
|
def unwrap_memberships(task_hash, memberships, resource, key); end
|
|
5003
4987
|
|
|
5004
4988
|
# _@param_ `task_hash`
|
|
5005
|
-
sig { params(task_hash: T::Hash[
|
|
4989
|
+
sig { params(task_hash: T::Hash[String, Object]).void }
|
|
5006
4990
|
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
|
|
5007
4995
|
end
|
|
5008
4996
|
|
|
5009
4997
|
# Utility methods for working with task dates and times
|
|
@@ -5027,17 +5015,11 @@ module Checkoff
|
|
|
5027
5015
|
def initialize(time_class: Time, date_class: Date, client: Checkoff::Clients.new.client, custom_fields: Checkoff::CustomFields.new(client:)); end
|
|
5028
5016
|
|
|
5029
5017
|
# 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
5018
|
# _@param_ `task`
|
|
5034
5019
|
sig { params(task: Asana::Resources::Task).returns(T.nilable(Time)) }
|
|
5035
5020
|
def start_time(task); end
|
|
5036
5021
|
|
|
5037
5022
|
# 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
5023
|
# _@param_ `task`
|
|
5042
5024
|
sig { params(task: Asana::Resources::Task).returns(T.nilable(Time)) }
|
|
5043
5025
|
def due_time(task); end
|
|
@@ -5076,9 +5058,6 @@ module Checkoff
|
|
|
5076
5058
|
class ThreadLocal
|
|
5077
5059
|
# sord warn - T wasn't able to be resolved to a constant in this project
|
|
5078
5060
|
# 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
5061
|
# _@param_ `name`
|
|
5083
5062
|
#
|
|
5084
5063
|
# _@param_ `value`
|
|
@@ -5097,8 +5076,6 @@ module Checkoff
|
|
|
5097
5076
|
sig { params(config: T::Hash[Symbol, T.untyped], sym: Symbol, yaml_filename: String).void }
|
|
5098
5077
|
def initialize(config, sym, yaml_filename); end
|
|
5099
5078
|
|
|
5100
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
5101
|
-
#
|
|
5102
5079
|
# _@param_ `key`
|
|
5103
5080
|
sig { params(key: Symbol).returns(Object) }
|
|
5104
5081
|
def [](key); end
|
|
@@ -5135,10 +5112,15 @@ module Checkoff
|
|
|
5135
5112
|
def initialize(_deps = {}); end
|
|
5136
5113
|
|
|
5137
5114
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
5115
|
+
# sord warn - "\"unwrapped\"" does not appear to be a type
|
|
5116
|
+
# sord warn - "Hash{\"custom_fields\" => Hash{String =" does not appear to be a type
|
|
5117
|
+
# The two custom_fields entries below hold the same records: the top-level
|
|
5118
|
+
# array is what Asana returns, and unwrapped re-keys those records by name.
|
|
5119
|
+
#
|
|
5138
5120
|
# _@param_ `project_obj`
|
|
5139
5121
|
#
|
|
5140
|
-
# _@param_ `project` — -
|
|
5141
|
-
sig { params(project_obj: Asana::Resources::Project, project: T.any(String, Symbol)).returns(T::Hash[T.untyped, T.untyped]) }
|
|
5122
|
+
# _@param_ `project` — - a String is a project name
|
|
5123
|
+
sig { params(project_obj: Asana::Resources::Project, project: T.nilable(T.any(String, Symbol))).returns(T::Hash[T.untyped, T.untyped]) }
|
|
5142
5124
|
def project_to_h(project_obj, project: :not_specified); end
|
|
5143
5125
|
|
|
5144
5126
|
# _@param_ `project_hash`
|
|
@@ -5248,6 +5230,10 @@ module Checkoff
|
|
|
5248
5230
|
sig { params(param_name: String).returns(String) }
|
|
5249
5231
|
def fetch_solo_param(param_name); end
|
|
5250
5232
|
|
|
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
|
+
|
|
5251
5237
|
sig { returns(String) }
|
|
5252
5238
|
attr_reader :gid
|
|
5253
5239
|
|
|
@@ -5339,7 +5325,6 @@ module Checkoff
|
|
|
5339
5325
|
sig { params(date_url_params: T::Hash[String, T::Array[String]]).void }
|
|
5340
5326
|
def initialize(date_url_params:); end
|
|
5341
5327
|
|
|
5342
|
-
# @sg-ignore out can genuinely be nil if none of the 3 known prefixes matched; relies on the raise above it
|
|
5343
5328
|
sig { returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
|
|
5344
5329
|
def convert; end
|
|
5345
5330
|
|
|
@@ -5371,8 +5356,6 @@ module Checkoff
|
|
|
5371
5356
|
sig { params(prefix: String).returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
|
|
5372
5357
|
def handle_within_next(prefix); end
|
|
5373
5358
|
|
|
5374
|
-
# @sg-ignore value.length == 1 guard above isn't inferred as narrowing value[0] to non-nil
|
|
5375
|
-
#
|
|
5376
5359
|
# _@param_ `param_key`
|
|
5377
5360
|
sig { params(param_key: String).returns(String) }
|
|
5378
5361
|
def get_single_param(param_key); end
|
|
@@ -5385,6 +5368,10 @@ module Checkoff
|
|
|
5385
5368
|
sig { params(prefix: String).void }
|
|
5386
5369
|
def validate_unit_is_day!(prefix); end
|
|
5387
5370
|
|
|
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
|
+
|
|
5388
5375
|
sig { returns(T::Hash[String, T::Array[String]]) }
|
|
5389
5376
|
attr_reader :date_url_params
|
|
5390
5377
|
end
|
|
@@ -5420,7 +5407,6 @@ module Checkoff
|
|
|
5420
5407
|
sig { params(verb: String).returns(T::Array[String]) }
|
|
5421
5408
|
def convert_from_projects_and_sections(verb); end
|
|
5422
5409
|
|
|
5423
|
-
# @sg-ignore abstract method always raises; declared type documents the override contract, not this body
|
|
5424
5410
|
sig { returns(T::Array[String]) }
|
|
5425
5411
|
def convert; end
|
|
5426
5412
|
|
|
@@ -5577,16 +5563,12 @@ module Checkoff
|
|
|
5577
5563
|
sig { returns(T::Hash[String, T::Hash[T.untyped, T.untyped]]) }
|
|
5578
5564
|
def by_custom_field; end
|
|
5579
5565
|
|
|
5580
|
-
# @sg-ignore `unless variant_class.nil?` return value isn't inferred as the declared tuple type
|
|
5581
|
-
#
|
|
5582
5566
|
# _@param_ `gid`
|
|
5583
5567
|
#
|
|
5584
5568
|
# _@param_ `single_custom_field_params`
|
|
5585
5569
|
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
5570
|
def convert_single_custom_field_params(gid, single_custom_field_params); end
|
|
5587
5571
|
|
|
5588
|
-
# @sg-ignore split(...)[n]'s nilable Array indexing isn't inferred as the declared String return
|
|
5589
|
-
#
|
|
5590
5572
|
# _@param_ `key`
|
|
5591
5573
|
sig { params(key: String).returns(String) }
|
|
5592
5574
|
def gid_from_custom_field_key(key); end
|
|
@@ -5635,7 +5617,7 @@ module Checkoff
|
|
|
5635
5617
|
# _@param_ `asana_event`
|
|
5636
5618
|
#
|
|
5637
5619
|
# _@param_ `failures`
|
|
5638
|
-
sig { params(filter: T::Hash[T.
|
|
5620
|
+
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
5621
|
def filter_matches_asana_event?(filter, asana_event, failures); end
|
|
5640
5622
|
|
|
5641
5623
|
# _@param_ `key`
|
|
@@ -5678,7 +5660,6 @@ module Checkoff
|
|
|
5678
5660
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
5679
5661
|
def finer(message = nil, &block); end
|
|
5680
5662
|
|
|
5681
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
5682
5663
|
sig { returns(Symbol) }
|
|
5683
5664
|
def log_level; end
|
|
5684
5665
|
end
|
|
@@ -5789,7 +5770,6 @@ module Checkoff
|
|
|
5789
5770
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
5790
5771
|
def finer(message = nil, &block); end
|
|
5791
5772
|
|
|
5792
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
5793
5773
|
sig { returns(Symbol) }
|
|
5794
5774
|
def log_level; end
|
|
5795
5775
|
|
|
@@ -5817,13 +5797,12 @@ module Checkoff
|
|
|
5817
5797
|
# Base class to evaluate Asana resource selectors against an Asana resource
|
|
5818
5798
|
class SelectorEvaluator
|
|
5819
5799
|
# _@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]))) }
|
|
5800
|
+
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
5801
|
def evaluate(selector); end
|
|
5822
5802
|
|
|
5823
5803
|
sig { returns(T::Hash[T.untyped, T.untyped]) }
|
|
5824
5804
|
def initializer_kwargs; end
|
|
5825
5805
|
|
|
5826
|
-
# @sg-ignore abstract method always raises; declared type documents the override contract, not this body
|
|
5827
5806
|
sig { returns(T::Array[T.class_of(Checkoff::SelectorClasses::FunctionEvaluator)]) }
|
|
5828
5807
|
def function_evaluators; end
|
|
5829
5808
|
|
|
@@ -5904,9 +5883,6 @@ module Checkoff
|
|
|
5904
5883
|
def evaluate_arg?(_index); end
|
|
5905
5884
|
|
|
5906
5885
|
# 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
5886
|
# _@param_ `task`
|
|
5911
5887
|
#
|
|
5912
5888
|
# _@param_ `project_name`
|
|
@@ -5996,9 +5972,6 @@ module Checkoff
|
|
|
5996
5972
|
def matches?; end
|
|
5997
5973
|
|
|
5998
5974
|
# 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
5975
|
# _@param_ `task`
|
|
6003
5976
|
sig { params(task: Asana::Resources::Task).returns(T::Boolean) }
|
|
6004
5977
|
def evaluate(task); end
|
|
@@ -6012,9 +5985,6 @@ module Checkoff
|
|
|
6012
5985
|
def matches?; end
|
|
6013
5986
|
|
|
6014
5987
|
# 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
5988
|
# _@param_ `task`
|
|
6019
5989
|
sig { params(task: Asana::Resources::Task).returns(T::Boolean) }
|
|
6020
5990
|
def evaluate(task); end
|
|
@@ -6117,9 +6087,6 @@ module Checkoff
|
|
|
6117
6087
|
def evaluate_arg?(_index); end
|
|
6118
6088
|
|
|
6119
6089
|
# 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
6090
|
# _@param_ `task`
|
|
6124
6091
|
sig { params(task: Asana::Resources::Task).returns(T::Boolean) }
|
|
6125
6092
|
def evaluate(task); end
|
|
@@ -6156,7 +6123,7 @@ module Checkoff
|
|
|
6156
6123
|
# _@param_ `_kwargs`
|
|
6157
6124
|
sig do
|
|
6158
6125
|
params(
|
|
6159
|
-
selector: T.any([Symbol, T::Array[T.untyped]],
|
|
6126
|
+
selector: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol),
|
|
6160
6127
|
tasks: Checkoff::Tasks,
|
|
6161
6128
|
timelines: Checkoff::Timelines,
|
|
6162
6129
|
custom_fields: Checkoff::CustomFields,
|
|
@@ -6174,7 +6141,7 @@ module Checkoff
|
|
|
6174
6141
|
sig { returns(Checkoff::CustomFields) }
|
|
6175
6142
|
attr_reader :custom_fields
|
|
6176
6143
|
|
|
6177
|
-
sig { returns([Symbol, T::Array[T.untyped]]) }
|
|
6144
|
+
sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
|
|
6178
6145
|
attr_reader :selector
|
|
6179
6146
|
end
|
|
6180
6147
|
end
|
|
@@ -6377,9 +6344,6 @@ module Checkoff
|
|
|
6377
6344
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6378
6345
|
# sord warn - boolish is probably not a type, but using anyway
|
|
6379
6346
|
# 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
6347
|
# _@param_ `resource`
|
|
6384
6348
|
#
|
|
6385
6349
|
# _@param_ `prefix`
|
|
@@ -6394,8 +6358,6 @@ module Checkoff
|
|
|
6394
6358
|
|
|
6395
6359
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
6396
6360
|
# 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
6361
|
# _@param_ `_resource`
|
|
6400
6362
|
sig { params(_resource: T.any(Asana::Resources::Task, Asana::Resources::Project)).returns(String) }
|
|
6401
6363
|
def evaluate(_resource); end
|
|
@@ -6408,10 +6370,10 @@ module Checkoff
|
|
|
6408
6370
|
# _@param_ `custom_fields`
|
|
6409
6371
|
#
|
|
6410
6372
|
# _@param_ `_kwargs`
|
|
6411
|
-
sig { params(selector: T.any([Symbol, T::Array[T.untyped]],
|
|
6373
|
+
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
6374
|
def initialize(selector:, custom_fields:, **_kwargs); end
|
|
6413
6375
|
|
|
6414
|
-
sig { returns(T.any([Symbol, T::Array[T.untyped]],
|
|
6376
|
+
sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
|
|
6415
6377
|
attr_reader :selector
|
|
6416
6378
|
|
|
6417
6379
|
sig { returns(Checkoff::CustomFields) }
|
|
@@ -6429,8 +6391,6 @@ module Checkoff
|
|
|
6429
6391
|
def matches?; end
|
|
6430
6392
|
|
|
6431
6393
|
# 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
6394
|
# _@param_ `resource`
|
|
6435
6395
|
sig { params(resource: Asana::Resources::Project).returns(T.nilable(String)) }
|
|
6436
6396
|
def evaluate(resource); end
|
|
@@ -6490,7 +6450,7 @@ module Checkoff
|
|
|
6490
6450
|
# _@param_ `_kwargs`
|
|
6491
6451
|
sig do
|
|
6492
6452
|
params(
|
|
6493
|
-
selector: T.any([Symbol, T::Array[T.untyped]],
|
|
6453
|
+
selector: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol),
|
|
6494
6454
|
projects: Checkoff::Projects,
|
|
6495
6455
|
portfolios: Checkoff::Portfolios,
|
|
6496
6456
|
workspaces: Checkoff::Workspaces,
|
|
@@ -6499,7 +6459,7 @@ module Checkoff
|
|
|
6499
6459
|
end
|
|
6500
6460
|
def initialize(selector:, projects:, portfolios:, workspaces:, **_kwargs); end
|
|
6501
6461
|
|
|
6502
|
-
sig { returns([Symbol, T::Array[T.untyped]]) }
|
|
6462
|
+
sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
|
|
6503
6463
|
attr_reader :selector
|
|
6504
6464
|
|
|
6505
6465
|
sig { returns(Checkoff::Projects) }
|
|
@@ -6523,8 +6483,6 @@ module Checkoff
|
|
|
6523
6483
|
def matches?; end
|
|
6524
6484
|
|
|
6525
6485
|
# 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
6486
|
# _@param_ `section`
|
|
6529
6487
|
sig { params(section: Asana::Resources::Section).returns(T::Boolean) }
|
|
6530
6488
|
def evaluate(section); end
|
|
@@ -6555,7 +6513,7 @@ module Checkoff
|
|
|
6555
6513
|
# _@param_ `kwargs`
|
|
6556
6514
|
sig do
|
|
6557
6515
|
params(
|
|
6558
|
-
selector: T.any([Symbol, T::Array[T.untyped]],
|
|
6516
|
+
selector: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol),
|
|
6559
6517
|
sections: Checkoff::Sections,
|
|
6560
6518
|
client: Asana::Client,
|
|
6561
6519
|
kwargs: T::Hash[T.untyped, T.untyped]
|
|
@@ -6563,7 +6521,7 @@ module Checkoff
|
|
|
6563
6521
|
end
|
|
6564
6522
|
def initialize(selector:, sections:, client:, **kwargs); end
|
|
6565
6523
|
|
|
6566
|
-
sig { returns([Symbol, T::Array[T.untyped]]) }
|
|
6524
|
+
sig { returns(T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol)) }
|
|
6567
6525
|
attr_reader :selector
|
|
6568
6526
|
|
|
6569
6527
|
# sord warn - Asana::Client wasn't able to be resolved to a constant in this project
|
|
@@ -6583,13 +6541,10 @@ module Checkoff
|
|
|
6583
6541
|
sig { params(_index: Integer).returns(T::Boolean) }
|
|
6584
6542
|
def evaluate_arg?(_index); end
|
|
6585
6543
|
|
|
6586
|
-
# @sg-ignore return type could not be inferred — abstract method body is only `raise`
|
|
6587
6544
|
sig { returns(T::Boolean) }
|
|
6588
6545
|
def matches?; end
|
|
6589
6546
|
|
|
6590
6547
|
# 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
6548
|
# _@param_ `_task`
|
|
6594
6549
|
#
|
|
6595
6550
|
# _@param_ `_args`
|
|
@@ -6599,7 +6554,7 @@ module Checkoff
|
|
|
6599
6554
|
# _@param_ `object`
|
|
6600
6555
|
#
|
|
6601
6556
|
# _@param_ `fn_name`
|
|
6602
|
-
sig { params(object:
|
|
6557
|
+
sig { params(object: T.any(T::Array[T.any(Symbol, T::Array[T.untyped])], Symbol), fn_name: Symbol).returns(T::Boolean) }
|
|
6603
6558
|
def fn?(object, fn_name); end
|
|
6604
6559
|
|
|
6605
6560
|
# Concrete subclasses each declare their own initialize with their
|
|
@@ -6639,7 +6594,6 @@ module Checkoff
|
|
|
6639
6594
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
6640
6595
|
def finer(message = nil, &block); end
|
|
6641
6596
|
|
|
6642
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
6643
6597
|
sig { returns(Symbol) }
|
|
6644
6598
|
def log_level; end
|
|
6645
6599
|
end
|
|
@@ -6788,8 +6742,8 @@ end - [Checkoff::SelectorClasses::Section::FunctionEvaluator]).freeze, T.untyped
|
|
|
6788
6742
|
sig { returns(T::Hash[T.untyped, T.untyped]) }
|
|
6789
6743
|
def initializer_kwargs; end
|
|
6790
6744
|
|
|
6791
|
-
# sord warn - Asana::Resources::
|
|
6792
|
-
sig { returns(Asana::Resources::
|
|
6745
|
+
# sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
|
|
6746
|
+
sig { returns(Asana::Resources::Section) }
|
|
6793
6747
|
attr_reader :item
|
|
6794
6748
|
|
|
6795
6749
|
sig { returns(Checkoff::Sections) }
|
|
@@ -6832,7 +6786,6 @@ module Logging
|
|
|
6832
6786
|
sig { params(message: T.nilable(Object), block: T.untyped).void }
|
|
6833
6787
|
def finer(message = nil, &block); end
|
|
6834
6788
|
|
|
6835
|
-
# @sg-ignore return type could not be inferred — cascades from the ENV.fetch RBS gap below
|
|
6836
6789
|
sig { returns(Symbol) }
|
|
6837
6790
|
def log_level; end
|
|
6838
6791
|
end
|
|
@@ -6853,11 +6806,11 @@ module Asana
|
|
|
6853
6806
|
# Public: The base resource class which provides some sugar over common
|
|
6854
6807
|
# resource functionality.
|
|
6855
6808
|
class Resource
|
|
6856
|
-
sig { returns(T::Hash[
|
|
6809
|
+
sig { returns(T::Hash[String, Object]) }
|
|
6857
6810
|
def marshal_dump; end
|
|
6858
6811
|
|
|
6859
6812
|
# _@param_ `data`
|
|
6860
|
-
sig { params(data: T::Hash[
|
|
6813
|
+
sig { params(data: T::Hash[String, Object]).void }
|
|
6861
6814
|
def marshal_load(data); end
|
|
6862
6815
|
end
|
|
6863
6816
|
end
|