checkoff 0.63.0 → 0.64.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/Gemfile.lock +1 -1
- data/config/definitions.rb +4 -0
- data/lib/checkoff/internal/selector_classes/common/function_evaluator.rb +22 -2
- data/lib/checkoff/internal/selector_classes/common.rb +8 -8
- data/lib/checkoff/internal/selector_classes/project.rb +16 -1
- data/lib/checkoff/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f64d6fbce5098a3e661dd96ba4ece4f1831dbeba5d2e2c12a88eae3097d3219
|
4
|
+
data.tar.gz: 612935d38a740717eeb8b23db2396352afde0ee53b3a625cb74a51e09198538e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4e14fb70b482d53376784b7659c9c2e67a4d05c80888bb826c12b9d2d4d5cfa6dc9c44c6fe552b907de789e2773c86c20debbe2a2a8a252e55545ebf0ce1e071
|
7
|
+
data.tar.gz: 7a044e9893cc848c78192d8ae1002bd5a7e8e5c2703e3016adcfbe47cdfdcac5ba87bca587b4e4e91a6ac2fea7d115f0037ca6f10e0923294e5a77c01b6360e8
|
data/Gemfile.lock
CHANGED
data/config/definitions.rb
CHANGED
@@ -116,16 +116,36 @@ module Checkoff
|
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
119
|
-
# @param
|
119
|
+
# @param custom_field [Hash]
|
120
|
+
# @param enum_value [Object, nil]
|
121
|
+
# @return [Array<String>]
|
122
|
+
def find_names(enum_value)
|
123
|
+
[enum_value.fetch('name')]
|
124
|
+
end
|
125
|
+
|
126
|
+
# @param project [Asana::Resources::Project,Asana::Resources::Task]
|
120
127
|
# @param custom_field_gid [String]
|
121
128
|
# @return [Array<String>]
|
122
|
-
def
|
129
|
+
def pull_custom_field_values_gids_or_raise(project, custom_field_gid)
|
123
130
|
custom_field = pull_custom_field_or_raise(project, custom_field_gid)
|
131
|
+
|
124
132
|
pull_enum_values(custom_field).flat_map do |enum_value|
|
125
133
|
find_gids(custom_field, enum_value)
|
126
134
|
end
|
127
135
|
end
|
128
136
|
|
137
|
+
# @param resource [Asana::Resources::Project,Asana::Resources::Task]
|
138
|
+
# @param custom_field_name [String]
|
139
|
+
# @return [Array<String>]
|
140
|
+
def pull_custom_field_values_names_by_name(resource, custom_field_name)
|
141
|
+
custom_field = pull_custom_field_by_name(resource, custom_field_name)
|
142
|
+
return [] if custom_field.nil?
|
143
|
+
|
144
|
+
pull_enum_values(custom_field).flat_map do |enum_value|
|
145
|
+
find_names(enum_value)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
129
149
|
# @sg-ignore
|
130
150
|
# @param project [Asana::Resources::Project]
|
131
151
|
# @param custom_field_name [String]
|
@@ -150,7 +150,7 @@ module Checkoff
|
|
150
150
|
# @param custom_field_values_gids [Array<String>]
|
151
151
|
# @return [Boolean]
|
152
152
|
def evaluate(resource, custom_field_gid, custom_field_values_gids)
|
153
|
-
actual_custom_field_values_gids =
|
153
|
+
actual_custom_field_values_gids = pull_custom_field_values_gids_or_raise(resource, custom_field_gid)
|
154
154
|
|
155
155
|
actual_custom_field_values_gids.any? do |custom_field_value|
|
156
156
|
custom_field_values_gids.include?(custom_field_value)
|
@@ -172,14 +172,14 @@ module Checkoff
|
|
172
172
|
|
173
173
|
# @param resource [Asana::Resources::Task,Asana::Resources::Project]
|
174
174
|
# @param custom_field_name [String]
|
175
|
-
# @param
|
175
|
+
# @param custom_field_value_names [Array<String>]
|
176
176
|
# @return [Boolean]
|
177
|
-
def evaluate(resource, custom_field_name,
|
178
|
-
|
179
|
-
|
180
|
-
return false if custom_field.nil?
|
177
|
+
def evaluate(resource, custom_field_name, custom_field_value_names)
|
178
|
+
actual_custom_field_values_names = pull_custom_field_values_names_by_name(resource, custom_field_name)
|
181
179
|
|
182
|
-
|
180
|
+
actual_custom_field_values_names.any? do |custom_field_value|
|
181
|
+
custom_field_value_names.include?(custom_field_value)
|
182
|
+
end
|
183
183
|
end
|
184
184
|
end
|
185
185
|
|
@@ -200,7 +200,7 @@ module Checkoff
|
|
200
200
|
# @param custom_field_values_gids [Array<String>]
|
201
201
|
# @return [Boolean]
|
202
202
|
def evaluate(resource, custom_field_gid, custom_field_values_gids)
|
203
|
-
actual_custom_field_values_gids =
|
203
|
+
actual_custom_field_values_gids = pull_custom_field_values_gids_or_raise(resource, custom_field_gid)
|
204
204
|
|
205
205
|
custom_field_values_gids.all? do |custom_field_value|
|
206
206
|
actual_custom_field_values_gids.include?(custom_field_value)
|
@@ -5,6 +5,21 @@ require_relative 'project/function_evaluator'
|
|
5
5
|
module Checkoff
|
6
6
|
module SelectorClasses
|
7
7
|
# Project selector classes
|
8
|
-
module Project
|
8
|
+
module Project
|
9
|
+
# :due_date function
|
10
|
+
class DueDateFunctionEvaluator < FunctionEvaluator
|
11
|
+
FUNCTION_NAME = :due_date
|
12
|
+
|
13
|
+
def matches?
|
14
|
+
fn?(selector, FUNCTION_NAME)
|
15
|
+
end
|
16
|
+
|
17
|
+
# @param resource [Asana::Resources::Project]
|
18
|
+
# @return [String, nil]
|
19
|
+
def evaluate(resource)
|
20
|
+
resource.due_date
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
9
24
|
end
|
10
25
|
end
|
data/lib/checkoff/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: checkoff
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.64.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vince Broz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-10-
|
11
|
+
date: 2023-10-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|