checkoff 0.257.0 → 0.258.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/checkoff/cli.rb +10 -10
- data/lib/checkoff/custom_fields.rb +0 -2
- data/lib/checkoff/internal/asana_event_enrichment.rb +8 -0
- data/lib/checkoff/internal/asana_event_filter.rb +4 -0
- data/lib/checkoff/internal/search_url/custom_field_param_converter.rb +8 -7
- data/lib/checkoff/internal/search_url/custom_field_variant.rb +2 -0
- data/lib/checkoff/internal/search_url/date_param_converter.rb +8 -2
- data/lib/checkoff/internal/search_url/simple_param_converter.rb +13 -4
- data/lib/checkoff/internal/selector_classes/common/function_evaluator.rb +3 -0
- data/lib/checkoff/internal/selector_classes/common.rb +12 -29
- data/lib/checkoff/internal/selector_classes/function_evaluator.rb +11 -0
- data/lib/checkoff/internal/selector_classes/project/function_evaluator.rb +9 -0
- data/lib/checkoff/internal/selector_classes/project.rb +6 -13
- data/lib/checkoff/internal/selector_classes/section/function_evaluator.rb +6 -3
- data/lib/checkoff/internal/selector_classes/section.rb +2 -4
- data/lib/checkoff/internal/selector_classes/task.rb +40 -15
- data/lib/checkoff/internal/selector_evaluator.rb +4 -6
- data/lib/checkoff/sections.rb +6 -12
- data/lib/checkoff/task_selectors.rb +3 -3
- data/lib/checkoff/tasks.rb +2 -2
- data/lib/checkoff/timelines.rb +14 -2
- data/lib/checkoff/version.rb +1 -1
- data/rbi/checkoff.rbi +46 -49
- data/sig/checkoff.rbs +18 -42
- metadata +2 -2
|
@@ -11,13 +11,11 @@ module Checkoff
|
|
|
11
11
|
|
|
12
12
|
function_evaluators.each do |evaluator_class|
|
|
13
13
|
# @type [Checkoff::SelectorClasses::FunctionEvaluator]
|
|
14
|
-
# @sg-ignore
|
|
15
14
|
evaluator = evaluator_class.new(selector:,
|
|
16
15
|
**initializer_kwargs)
|
|
17
16
|
|
|
18
17
|
next unless evaluator.matches?
|
|
19
18
|
|
|
20
|
-
# @sg-ignore
|
|
21
19
|
return try_this_evaluator(selector, evaluator)
|
|
22
20
|
end
|
|
23
21
|
|
|
@@ -32,18 +30,18 @@ module Checkoff
|
|
|
32
30
|
end
|
|
33
31
|
|
|
34
32
|
# @return [Array<Class<Checkoff::SelectorClasses::FunctionEvaluator>>]
|
|
35
|
-
# @sg-ignore
|
|
33
|
+
# @sg-ignore abstract method always raises; declared type documents the override contract, not this body
|
|
36
34
|
def function_evaluators
|
|
37
35
|
raise 'Implement me!'
|
|
38
36
|
end
|
|
39
37
|
|
|
40
|
-
# @param selector [Array]
|
|
38
|
+
# @param selector [Symbol, Array]
|
|
41
39
|
# @param evaluator [Checkoff::SelectorClasses::FunctionEvaluator]
|
|
42
40
|
# @return [Array]
|
|
43
41
|
def evaluate_args(selector, evaluator)
|
|
44
42
|
return [] unless selector.is_a?(Array)
|
|
45
43
|
|
|
46
|
-
# @sg-ignore
|
|
44
|
+
# @sg-ignore Array#[] with an open-ended range is inferred as nilable even though it never is here
|
|
47
45
|
selector[1..].map.with_index do |item, index|
|
|
48
46
|
if evaluator.evaluate_arg?(index)
|
|
49
47
|
evaluate(item)
|
|
@@ -53,7 +51,7 @@ module Checkoff
|
|
|
53
51
|
end
|
|
54
52
|
end
|
|
55
53
|
|
|
56
|
-
# @param selector [Array]
|
|
54
|
+
# @param selector [Symbol, Array]
|
|
57
55
|
# @param evaluator [Checkoff::SelectorClasses::FunctionEvaluator]
|
|
58
56
|
# @return [Boolean, Object, nil]
|
|
59
57
|
def try_this_evaluator(selector, evaluator)
|
data/lib/checkoff/sections.rb
CHANGED
|
@@ -142,11 +142,10 @@ module Checkoff
|
|
|
142
142
|
# @param section_name [String, nil]
|
|
143
143
|
#
|
|
144
144
|
# @return [Array<String>]
|
|
145
|
-
# @sg-ignore
|
|
145
|
+
# @sg-ignore Task#name is nilable; task names are assumed present here
|
|
146
146
|
def section_task_names(workspace_name, project_name, section_name)
|
|
147
147
|
task_array = tasks(workspace_name, project_name, section_name)
|
|
148
|
-
|
|
149
|
-
T.cast(task_array.map(&:name), T::Array[String])
|
|
148
|
+
T.cast(task_array.map(&:name), Array)
|
|
150
149
|
end
|
|
151
150
|
cache_method :section_task_names, SHORT_CACHE_TIME
|
|
152
151
|
|
|
@@ -184,17 +183,15 @@ module Checkoff
|
|
|
184
183
|
#
|
|
185
184
|
# @return [Asana::Resources::Section, nil]
|
|
186
185
|
def previous_section(section)
|
|
187
|
-
|
|
186
|
+
project_sections = sections_by_project_gid(section.project.fetch('gid'))
|
|
188
187
|
|
|
189
188
|
# @type [Array<Asana::Resources::Section>]
|
|
190
|
-
|
|
191
|
-
sections = sections.to_a
|
|
189
|
+
project_sections_arr = project_sections.to_a
|
|
192
190
|
|
|
193
|
-
index =
|
|
191
|
+
index = project_sections_arr.find_index { |s| s.gid == section.gid }
|
|
194
192
|
return nil if index.nil? || index.zero?
|
|
195
193
|
|
|
196
|
-
|
|
197
|
-
sections[index - 1]
|
|
194
|
+
project_sections_arr[index - 1]
|
|
198
195
|
end
|
|
199
196
|
cache_method :previous_section, SHORT_CACHE_TIME
|
|
200
197
|
|
|
@@ -295,9 +292,6 @@ module Checkoff
|
|
|
295
292
|
# @type [String, nil]
|
|
296
293
|
current_section = section_key(section_name)
|
|
297
294
|
|
|
298
|
-
# @sg-ignore Hash#fetch arg0 expected String,NilClass received String,nil — Solargraph
|
|
299
|
-
# treats the nil literal in a Hash{K,nil=>V} declaration and an inferred `nil` union
|
|
300
|
-
# member as distinct types; no comment-only fix found
|
|
301
295
|
by_section.fetch(current_section) << task
|
|
302
296
|
end
|
|
303
297
|
|
|
@@ -64,19 +64,19 @@ module Checkoff
|
|
|
64
64
|
# :nocov:
|
|
65
65
|
class << self
|
|
66
66
|
# @return [String]
|
|
67
|
-
# @sg-ignore
|
|
67
|
+
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
68
68
|
def project_name
|
|
69
69
|
ARGV[1] || raise('Please pass project name to pull tasks from as first argument')
|
|
70
70
|
end
|
|
71
71
|
|
|
72
|
-
# @sg-ignore
|
|
73
72
|
# @return [String]
|
|
73
|
+
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
74
74
|
def workspace_name
|
|
75
75
|
ARGV[0] || raise('Please pass workspace name as first argument')
|
|
76
76
|
end
|
|
77
77
|
|
|
78
78
|
# @return [Array(Symbol, Array)]
|
|
79
|
-
# @sg-ignore
|
|
79
|
+
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
80
80
|
def task_selector
|
|
81
81
|
task_selector_json = ARGV[2] || raise('Please pass task_selector in JSON form as third argument')
|
|
82
82
|
|
data/lib/checkoff/tasks.rb
CHANGED
|
@@ -298,7 +298,7 @@ module Checkoff
|
|
|
298
298
|
# @sg-ignore Checkoff::Tasks#in_portfolio_named? return type could not be inferred
|
|
299
299
|
def in_portfolio_named?(task,
|
|
300
300
|
portfolio_name,
|
|
301
|
-
workspace_name: @workspaces.default_workspace.name)
|
|
301
|
+
workspace_name: T.must(@workspaces.default_workspace.name))
|
|
302
302
|
portfolio_projects = @portfolios.projects_in_portfolio(workspace_name, portfolio_name)
|
|
303
303
|
T.cast(task.memberships.any? do |membership|
|
|
304
304
|
m = T.cast(membership, T::Hash[String, T.untyped])
|
|
@@ -315,7 +315,7 @@ module Checkoff
|
|
|
315
315
|
# @return [Boolean]
|
|
316
316
|
def in_portfolio_more_than_once?(task,
|
|
317
317
|
portfolio_name,
|
|
318
|
-
workspace_name: @workspaces.default_workspace.name)
|
|
318
|
+
workspace_name: T.must(@workspaces.default_workspace.name))
|
|
319
319
|
portfolio_projects = @portfolios.projects_in_portfolio(workspace_name, portfolio_name)
|
|
320
320
|
portfolio_project_gids = portfolio_projects.map(&:gid)
|
|
321
321
|
seen = T.let(false, T::Boolean)
|
data/lib/checkoff/timelines.rb
CHANGED
|
@@ -54,8 +54,12 @@ module Checkoff
|
|
|
54
54
|
memberships_data = task_data.fetch('memberships')
|
|
55
55
|
memberships_data.all? do |membership_data|
|
|
56
56
|
# @type [Hash{String => String}]
|
|
57
|
+
# @sg-ignore Hash#fetch generic<X> leak on rbs >= 4.1.0, fix in progress upstream
|
|
58
|
+
# https://github.com/castwide/solargraph/pull/1228
|
|
57
59
|
section_data = membership_data.fetch('section')
|
|
58
60
|
section_gid = section_data.fetch('gid')
|
|
61
|
+
# @sg-ignore Hash#fetch generic<X> leak on rbs >= 4.1.0, fix in progress upstream
|
|
62
|
+
# https://github.com/castwide/solargraph/pull/1228
|
|
59
63
|
section = @sections.section_by_gid(section_gid)
|
|
60
64
|
# @sg-ignore section_by_gid can return nil on a gid lookup miss, and
|
|
61
65
|
# task_data_dependent_on_previous_section_last_milestone? dereferences it immediately
|
|
@@ -69,7 +73,7 @@ module Checkoff
|
|
|
69
73
|
# @return [Boolean]
|
|
70
74
|
def last_task_milestone_depends_on_this_task?(task, limit_to_portfolio_name: nil)
|
|
71
75
|
unless limit_to_portfolio_name.nil?
|
|
72
|
-
limit_to_projects = @portfolios.projects_in_portfolio(@workspaces.default_workspace.name,
|
|
76
|
+
limit_to_projects = @portfolios.projects_in_portfolio(T.must(@workspaces.default_workspace.name),
|
|
73
77
|
limit_to_portfolio_name)
|
|
74
78
|
end
|
|
75
79
|
|
|
@@ -81,14 +85,20 @@ module Checkoff
|
|
|
81
85
|
md = membership_data
|
|
82
86
|
unless limit_to_portfolio_name.nil?
|
|
83
87
|
# @type [Hash{String => Object}]
|
|
88
|
+
# @sg-ignore Hash#fetch generic<X> leak on rbs >= 4.1.0, fix in progress upstream
|
|
89
|
+
# https://github.com/castwide/solargraph/pull/1228
|
|
84
90
|
project_data = md.fetch('project')
|
|
85
91
|
project_gid = project_data.fetch('gid')
|
|
86
92
|
next true unless limit_to_projects.map(&:gid).include? project_gid
|
|
87
93
|
end
|
|
88
94
|
# @type [Hash{String => Object}]
|
|
95
|
+
# @sg-ignore Hash#fetch generic<X> leak on rbs >= 4.1.0, fix in progress upstream
|
|
96
|
+
# https://github.com/castwide/solargraph/pull/1228
|
|
89
97
|
section_data = md.fetch('section')
|
|
90
98
|
section_gid = section_data.fetch('gid')
|
|
91
99
|
|
|
100
|
+
# @sg-ignore Hash#fetch generic<X> leak on rbs >= 4.1.0, fix in progress upstream
|
|
101
|
+
# https://github.com/castwide/solargraph/pull/1228
|
|
92
102
|
last_milestone = last_milestone_in_section(section_gid)
|
|
93
103
|
|
|
94
104
|
next false if last_milestone.nil?
|
|
@@ -108,7 +118,7 @@ module Checkoff
|
|
|
108
118
|
# @return [Boolean]
|
|
109
119
|
def any_milestone_depends_on_this_task?(task, limit_to_portfolio_name: nil)
|
|
110
120
|
unless limit_to_portfolio_name.nil?
|
|
111
|
-
limit_to_projects = @portfolios.projects_in_portfolio(@workspaces.default_workspace.name,
|
|
121
|
+
limit_to_projects = @portfolios.projects_in_portfolio(T.must(@workspaces.default_workspace.name),
|
|
112
122
|
limit_to_portfolio_name)
|
|
113
123
|
end
|
|
114
124
|
|
|
@@ -120,6 +130,8 @@ module Checkoff
|
|
|
120
130
|
md = membership_data
|
|
121
131
|
unless limit_to_portfolio_name.nil?
|
|
122
132
|
# @type [Hash{String => Object}]
|
|
133
|
+
# @sg-ignore Hash#fetch generic<X> leak on rbs >= 4.1.0, fix in progress upstream
|
|
134
|
+
# https://github.com/castwide/solargraph/pull/1228
|
|
123
135
|
project_data = md.fetch('project')
|
|
124
136
|
project_gid = project_data.fetch('gid')
|
|
125
137
|
next true unless limit_to_projects.map(&:gid).include? project_gid
|
data/lib/checkoff/version.rb
CHANGED
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.258.0'
|
|
86
86
|
|
|
87
87
|
class Attachments
|
|
88
88
|
include Logging
|
|
@@ -1289,10 +1289,10 @@ module Checkoff
|
|
|
1289
1289
|
def h_to_task(task_data); end
|
|
1290
1290
|
|
|
1291
1291
|
sig { params(task: T.untyped, portfolio_name: T.untyped, workspace_name: T.untyped).returns(T.untyped) }
|
|
1292
|
-
def in_portfolio_named?(task, portfolio_name, workspace_name: @workspaces.default_workspace.name); end
|
|
1292
|
+
def in_portfolio_named?(task, portfolio_name, workspace_name: T.must(@workspaces.default_workspace.name)); end
|
|
1293
1293
|
|
|
1294
1294
|
sig { params(task: T.untyped, portfolio_name: T.untyped, workspace_name: T.untyped).returns(T.untyped) }
|
|
1295
|
-
def in_portfolio_more_than_once?(task, portfolio_name, workspace_name: @workspaces.default_workspace.name); end
|
|
1295
|
+
def in_portfolio_more_than_once?(task, portfolio_name, workspace_name: T.must(@workspaces.default_workspace.name)); end
|
|
1296
1296
|
|
|
1297
1297
|
sig { returns(T.untyped) }
|
|
1298
1298
|
def as_cache_key; end
|
|
@@ -1862,6 +1862,9 @@ module Checkoff
|
|
|
1862
1862
|
sig { returns(T.untyped) }
|
|
1863
1863
|
def single_value; end
|
|
1864
1864
|
|
|
1865
|
+
sig { returns(T.untyped) }
|
|
1866
|
+
def convert; end
|
|
1867
|
+
|
|
1865
1868
|
sig { returns(T.untyped) }
|
|
1866
1869
|
attr_reader :key
|
|
1867
1870
|
|
|
@@ -1977,6 +1980,9 @@ module Checkoff
|
|
|
1977
1980
|
class FunctionEvaluator
|
|
1978
1981
|
include Logging
|
|
1979
1982
|
|
|
1983
|
+
sig { params(selector: T.untyped, _kwargs: T.untyped).void }
|
|
1984
|
+
def initialize(selector: nil, **_kwargs); end
|
|
1985
|
+
|
|
1980
1986
|
sig { params(_index: T.untyped).returns(T.untyped) }
|
|
1981
1987
|
def evaluate_arg?(_index); end
|
|
1982
1988
|
|
|
@@ -2127,6 +2133,9 @@ module Checkoff
|
|
|
2127
2133
|
sig { params(selector: T.untyped, custom_fields: T.untyped, _kwargs: T.untyped).void }
|
|
2128
2134
|
def initialize(selector:, custom_fields:, **_kwargs); end
|
|
2129
2135
|
|
|
2136
|
+
sig { returns(T.untyped) }
|
|
2137
|
+
attr_reader :custom_fields
|
|
2138
|
+
|
|
2130
2139
|
sig { returns(T.untyped) }
|
|
2131
2140
|
attr_reader :selector
|
|
2132
2141
|
end
|
|
@@ -2182,6 +2191,15 @@ module Checkoff
|
|
|
2182
2191
|
end
|
|
2183
2192
|
def initialize(selector:, projects:, portfolios:, workspaces:, **_kwargs); end
|
|
2184
2193
|
|
|
2194
|
+
sig { returns(T.untyped) }
|
|
2195
|
+
attr_reader :projects
|
|
2196
|
+
|
|
2197
|
+
sig { returns(T.untyped) }
|
|
2198
|
+
attr_reader :portfolios
|
|
2199
|
+
|
|
2200
|
+
sig { returns(T.untyped) }
|
|
2201
|
+
attr_reader :workspaces
|
|
2202
|
+
|
|
2185
2203
|
sig { returns(T.untyped) }
|
|
2186
2204
|
attr_reader :selector
|
|
2187
2205
|
end
|
|
@@ -2220,10 +2238,13 @@ module Checkoff
|
|
|
2220
2238
|
def initialize(selector:, sections:, client:, **kwargs); end
|
|
2221
2239
|
|
|
2222
2240
|
sig { returns(T.untyped) }
|
|
2223
|
-
attr_reader :
|
|
2241
|
+
attr_reader :sections
|
|
2224
2242
|
|
|
2225
2243
|
sig { returns(T.untyped) }
|
|
2226
2244
|
attr_reader :client
|
|
2245
|
+
|
|
2246
|
+
sig { returns(T.untyped) }
|
|
2247
|
+
attr_reader :selector
|
|
2227
2248
|
end
|
|
2228
2249
|
end
|
|
2229
2250
|
|
|
@@ -2449,7 +2470,7 @@ end
|
|
|
2449
2470
|
# typed: ignore
|
|
2450
2471
|
# Command-line and gem client for Asana (unofficial)
|
|
2451
2472
|
module Checkoff
|
|
2452
|
-
VERSION = T.let('0.
|
|
2473
|
+
VERSION = T.let('0.258.0', T.untyped)
|
|
2453
2474
|
|
|
2454
2475
|
# Move tasks from one place to another
|
|
2455
2476
|
class MvSubcommand
|
|
@@ -3042,7 +3063,7 @@ module Checkoff
|
|
|
3042
3063
|
#
|
|
3043
3064
|
# _@param_ `workspace_name`
|
|
3044
3065
|
sig { params(task: Asana::Resources::Task, portfolio_name: String, workspace_name: String).returns(T::Boolean) }
|
|
3045
|
-
def in_portfolio_named?(task, portfolio_name, workspace_name: @workspaces.default_workspace.name); end
|
|
3066
|
+
def in_portfolio_named?(task, portfolio_name, workspace_name: T.must(@workspaces.default_workspace.name)); end
|
|
3046
3067
|
|
|
3047
3068
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
3048
3069
|
# True if the task is in a project which is in the given portfolio
|
|
@@ -3053,7 +3074,7 @@ module Checkoff
|
|
|
3053
3074
|
#
|
|
3054
3075
|
# _@param_ `workspace_name`
|
|
3055
3076
|
sig { params(task: Asana::Resources::Task, portfolio_name: String, workspace_name: String).returns(T::Boolean) }
|
|
3056
|
-
def in_portfolio_more_than_once?(task, portfolio_name, workspace_name: @workspaces.default_workspace.name); end
|
|
3077
|
+
def in_portfolio_more_than_once?(task, portfolio_name, workspace_name: T.must(@workspaces.default_workspace.name)); end
|
|
3057
3078
|
|
|
3058
3079
|
sig { returns(T::Hash[T.untyped, T.untyped]) }
|
|
3059
3080
|
def as_cache_key; end
|
|
@@ -3773,7 +3794,7 @@ module Checkoff
|
|
|
3773
3794
|
def tasks(workspace_name, project_name, section_name, only_uncompleted: true, extra_fields: []); end
|
|
3774
3795
|
|
|
3775
3796
|
# Pulls just names of tasks from a given section.
|
|
3776
|
-
# @sg-ignore
|
|
3797
|
+
# @sg-ignore Task#name is nilable; task names are assumed present here
|
|
3777
3798
|
#
|
|
3778
3799
|
# _@param_ `workspace_name`
|
|
3779
3800
|
#
|
|
@@ -4791,15 +4812,15 @@ module Checkoff
|
|
|
4791
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) }
|
|
4792
4813
|
def filter_via_task_selector(task, task_selector); end
|
|
4793
4814
|
|
|
4794
|
-
# @sg-ignore
|
|
4815
|
+
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
4795
4816
|
sig { returns(String) }
|
|
4796
4817
|
def self.project_name; end
|
|
4797
4818
|
|
|
4798
|
-
# @sg-ignore
|
|
4819
|
+
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
4799
4820
|
sig { returns(String) }
|
|
4800
4821
|
def self.workspace_name; end
|
|
4801
4822
|
|
|
4802
|
-
# @sg-ignore
|
|
4823
|
+
# @sg-ignore `x || raise(...)` isn't inferred as narrowing away the nil branch
|
|
4803
4824
|
sig { returns([Symbol, T::Array[T.untyped]]) }
|
|
4804
4825
|
def self.task_selector; end
|
|
4805
4826
|
|
|
@@ -5318,7 +5339,7 @@ module Checkoff
|
|
|
5318
5339
|
sig { params(date_url_params: T::Hash[String, T::Array[String]]).void }
|
|
5319
5340
|
def initialize(date_url_params:); end
|
|
5320
5341
|
|
|
5321
|
-
# @sg-ignore
|
|
5342
|
+
# @sg-ignore out can genuinely be nil if none of the 3 known prefixes matched; relies on the raise above it
|
|
5322
5343
|
sig { returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
|
|
5323
5344
|
def convert; end
|
|
5324
5345
|
|
|
@@ -5350,7 +5371,7 @@ module Checkoff
|
|
|
5350
5371
|
sig { params(prefix: String).returns([T::Hash[String, String], T::Array[T.any(Symbol, T::Array[T.untyped])]]) }
|
|
5351
5372
|
def handle_within_next(prefix); end
|
|
5352
5373
|
|
|
5353
|
-
# @sg-ignore
|
|
5374
|
+
# @sg-ignore value.length == 1 guard above isn't inferred as narrowing value[0] to non-nil
|
|
5354
5375
|
#
|
|
5355
5376
|
# _@param_ `param_key`
|
|
5356
5377
|
sig { params(param_key: String).returns(String) }
|
|
@@ -5517,14 +5538,13 @@ module Checkoff
|
|
|
5517
5538
|
def convert; end
|
|
5518
5539
|
|
|
5519
5540
|
# https://developers.asana.com/docs/search-tasks-in-a-workspace
|
|
5520
|
-
# @sg-ignore
|
|
5521
5541
|
#
|
|
5522
5542
|
# _@param_ `key` — the name of the search url param
|
|
5523
5543
|
#
|
|
5524
5544
|
# _@param_ `values` — the values of the search url param
|
|
5525
5545
|
#
|
|
5526
|
-
# _@return_ — the converted params
|
|
5527
|
-
sig { params(key: String, values: T::Array[String]).returns(T::
|
|
5546
|
+
# _@return_ — the converted params, as an alternating key/value flat array
|
|
5547
|
+
sig { params(key: String, values: T::Array[String]).returns(T::Array[String]) }
|
|
5528
5548
|
def convert_arg(key, values); end
|
|
5529
5549
|
|
|
5530
5550
|
sig { returns(T::Hash[String, T::Array[String]]) }
|
|
@@ -5557,7 +5577,7 @@ module Checkoff
|
|
|
5557
5577
|
sig { returns(T::Hash[String, T::Hash[T.untyped, T.untyped]]) }
|
|
5558
5578
|
def by_custom_field; end
|
|
5559
5579
|
|
|
5560
|
-
# @sg-ignore
|
|
5580
|
+
# @sg-ignore `unless variant_class.nil?` return value isn't inferred as the declared tuple type
|
|
5561
5581
|
#
|
|
5562
5582
|
# _@param_ `gid`
|
|
5563
5583
|
#
|
|
@@ -5565,7 +5585,7 @@ module Checkoff
|
|
|
5565
5585
|
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])]]) }
|
|
5566
5586
|
def convert_single_custom_field_params(gid, single_custom_field_params); end
|
|
5567
5587
|
|
|
5568
|
-
# @sg-ignore
|
|
5588
|
+
# @sg-ignore split(...)[n]'s nilable Array indexing isn't inferred as the declared String return
|
|
5569
5589
|
#
|
|
5570
5590
|
# _@param_ `key`
|
|
5571
5591
|
sig { params(key: String).returns(String) }
|
|
@@ -5803,20 +5823,20 @@ module Checkoff
|
|
|
5803
5823
|
sig { returns(T::Hash[T.untyped, T.untyped]) }
|
|
5804
5824
|
def initializer_kwargs; end
|
|
5805
5825
|
|
|
5806
|
-
# @sg-ignore
|
|
5826
|
+
# @sg-ignore abstract method always raises; declared type documents the override contract, not this body
|
|
5807
5827
|
sig { returns(T::Array[T.class_of(Checkoff::SelectorClasses::FunctionEvaluator)]) }
|
|
5808
5828
|
def function_evaluators; end
|
|
5809
5829
|
|
|
5810
5830
|
# _@param_ `selector`
|
|
5811
5831
|
#
|
|
5812
5832
|
# _@param_ `evaluator`
|
|
5813
|
-
sig { params(selector: T::Array[T.untyped], evaluator: Checkoff::SelectorClasses::FunctionEvaluator).returns(T::Array[T.untyped]) }
|
|
5833
|
+
sig { params(selector: T.any(Symbol, T::Array[T.untyped]), evaluator: Checkoff::SelectorClasses::FunctionEvaluator).returns(T::Array[T.untyped]) }
|
|
5814
5834
|
def evaluate_args(selector, evaluator); end
|
|
5815
5835
|
|
|
5816
5836
|
# _@param_ `selector`
|
|
5817
5837
|
#
|
|
5818
5838
|
# _@param_ `evaluator`
|
|
5819
|
-
sig { params(selector: T::Array[T.untyped], evaluator: Checkoff::SelectorClasses::FunctionEvaluator).returns(T.nilable(T.any(T::Boolean, Object))) }
|
|
5839
|
+
sig { params(selector: T.any(Symbol, T::Array[T.untyped]), evaluator: Checkoff::SelectorClasses::FunctionEvaluator).returns(T.nilable(T.any(T::Boolean, Object))) }
|
|
5820
5840
|
def try_this_evaluator(selector, evaluator); end
|
|
5821
5841
|
|
|
5822
5842
|
sig { returns(Asana::Resources::Resource) }
|
|
@@ -5850,8 +5870,6 @@ module Checkoff
|
|
|
5850
5870
|
def evaluate_arg?(_index); end
|
|
5851
5871
|
|
|
5852
5872
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
5853
|
-
# @sg-ignore
|
|
5854
|
-
#
|
|
5855
5873
|
# _@param_ `task`
|
|
5856
5874
|
#
|
|
5857
5875
|
# _@param_ `section_name_prefix`
|
|
@@ -5869,8 +5887,6 @@ module Checkoff
|
|
|
5869
5887
|
def evaluate_arg?(_index); end
|
|
5870
5888
|
|
|
5871
5889
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
5872
|
-
# @sg-ignore
|
|
5873
|
-
#
|
|
5874
5890
|
# _@param_ `task`
|
|
5875
5891
|
#
|
|
5876
5892
|
# _@param_ `section_name`
|
|
@@ -5888,7 +5904,8 @@ module Checkoff
|
|
|
5888
5904
|
def evaluate_arg?(_index); end
|
|
5889
5905
|
|
|
5890
5906
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
5891
|
-
# @sg-ignore
|
|
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
|
|
5892
5909
|
#
|
|
5893
5910
|
# _@param_ `task`
|
|
5894
5911
|
#
|
|
@@ -5924,8 +5941,6 @@ module Checkoff
|
|
|
5924
5941
|
def evaluate_arg?(_index); end
|
|
5925
5942
|
|
|
5926
5943
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
5927
|
-
# @sg-ignore
|
|
5928
|
-
#
|
|
5929
5944
|
# _@param_ `task`
|
|
5930
5945
|
#
|
|
5931
5946
|
# _@param_ `tag_name`
|
|
@@ -6278,10 +6293,6 @@ module Checkoff
|
|
|
6278
6293
|
|
|
6279
6294
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
6280
6295
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6281
|
-
# @sg-ignore
|
|
6282
|
-
# @sg-ignore
|
|
6283
|
-
# @sg-ignore
|
|
6284
|
-
#
|
|
6285
6296
|
# _@param_ `resource`
|
|
6286
6297
|
#
|
|
6287
6298
|
# _@param_ `custom_field_gid`
|
|
@@ -6301,9 +6312,6 @@ module Checkoff
|
|
|
6301
6312
|
|
|
6302
6313
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
6303
6314
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6304
|
-
# @sg-ignore
|
|
6305
|
-
# @sg-ignore
|
|
6306
|
-
#
|
|
6307
6315
|
# _@param_ `resource`
|
|
6308
6316
|
#
|
|
6309
6317
|
# _@param_ `custom_field_gid`
|
|
@@ -6325,9 +6333,6 @@ module Checkoff
|
|
|
6325
6333
|
|
|
6326
6334
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
6327
6335
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6328
|
-
# @sg-ignore
|
|
6329
|
-
# @sg-ignore
|
|
6330
|
-
#
|
|
6331
6336
|
# _@param_ `resource`
|
|
6332
6337
|
#
|
|
6333
6338
|
# _@param_ `custom_field_name`
|
|
@@ -6389,7 +6394,7 @@ module Checkoff
|
|
|
6389
6394
|
|
|
6390
6395
|
# sord warn - Asana::Resources::Task wasn't able to be resolved to a constant in this project
|
|
6391
6396
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6392
|
-
# @sg-ignore
|
|
6397
|
+
# @sg-ignore selector is only String here per matches?'s is_a?(String) check, in another method
|
|
6393
6398
|
#
|
|
6394
6399
|
# _@param_ `_resource`
|
|
6395
6400
|
sig { params(_resource: T.any(Asana::Resources::Task, Asana::Resources::Project)).returns(String) }
|
|
@@ -6424,7 +6429,7 @@ module Checkoff
|
|
|
6424
6429
|
def matches?; end
|
|
6425
6430
|
|
|
6426
6431
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6427
|
-
# @sg-ignore
|
|
6432
|
+
# @sg-ignore nilable return from an @!parse-declared method isn't inferred
|
|
6428
6433
|
#
|
|
6429
6434
|
# _@param_ `resource`
|
|
6430
6435
|
sig { params(resource: Asana::Resources::Project).returns(T.nilable(String)) }
|
|
@@ -6439,8 +6444,6 @@ module Checkoff
|
|
|
6439
6444
|
def matches?; end
|
|
6440
6445
|
|
|
6441
6446
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6442
|
-
# @sg-ignore
|
|
6443
|
-
#
|
|
6444
6447
|
# _@param_ `project`
|
|
6445
6448
|
#
|
|
6446
6449
|
# _@param_ `period` — - :now_or_before or :this_week
|
|
@@ -6456,10 +6459,6 @@ module Checkoff
|
|
|
6456
6459
|
def matches?; end
|
|
6457
6460
|
|
|
6458
6461
|
# sord warn - Asana::Resources::Project wasn't able to be resolved to a constant in this project
|
|
6459
|
-
# @sg-ignore
|
|
6460
|
-
#
|
|
6461
|
-
# @sg-ignore
|
|
6462
|
-
#
|
|
6463
6462
|
# _@param_ `project`
|
|
6464
6463
|
#
|
|
6465
6464
|
# _@param_ `portfolio_name`
|
|
@@ -6524,7 +6523,7 @@ module Checkoff
|
|
|
6524
6523
|
def matches?; end
|
|
6525
6524
|
|
|
6526
6525
|
# sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
|
|
6527
|
-
# @sg-ignore
|
|
6526
|
+
# @sg-ignore String, nil safe-nav chain isn't inferred as returning Boolean
|
|
6528
6527
|
#
|
|
6529
6528
|
# _@param_ `section`
|
|
6530
6529
|
sig { params(section: Asana::Resources::Section).returns(T::Boolean) }
|
|
@@ -6539,8 +6538,6 @@ module Checkoff
|
|
|
6539
6538
|
def matches?; end
|
|
6540
6539
|
|
|
6541
6540
|
# sord warn - Asana::Resources::Section wasn't able to be resolved to a constant in this project
|
|
6542
|
-
# @sg-ignore
|
|
6543
|
-
#
|
|
6544
6541
|
# _@param_ `section`
|
|
6545
6542
|
sig { params(section: Asana::Resources::Section).returns(T::Boolean) }
|
|
6546
6543
|
def evaluate(section); end
|