checkoff 0.46.1 → 0.48.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5a4be48acbc5f3ab9954ca8f7ec3ef64f1c629bfbc0015f158cde7a87fcc4049
4
- data.tar.gz: 1824e5607d750cc1d9b2161dc897cd4a08fd90c27fea1c4cc7a5f19ee4e2c497
3
+ metadata.gz: 71946ece124fe806bdf1691c15496de26d40aee2362a9f824693dcd6e04b1f4a
4
+ data.tar.gz: 2b45ca097930338ae0ed79b7b2610e64cbe0e95ed47e9265d5d1df4292650e86
5
5
  SHA512:
6
- metadata.gz: 3ef67e1152d4399b8b507a6b6b6555f300ac83ffda4b998a8ae031ada997deabdd60974228db9cb01101bf319a3092a36fa259391c4fbdc6940266e1d53f923d
7
- data.tar.gz: e04b024a9f4def03f62fb7a8b1498e53ed2d08cc53cff3a5b76bc7f16b6a20402a450704a7f782372b5f3438a7ecad063f1e7047b552d50a360fa7c5d1d60dbc
6
+ metadata.gz: 14bce3ce48c9aec936250d6bf8706a70c7e5ad53a3a526fd10c2d78a49df29632493506a362a6c107863b84e9ce2b3817aa9e282787978f033278936604be3c5
7
+ data.tar.gz: 660962aad915c791b9efdc899004ecc3ca9528a94107c88f8b20f344a393114b7d524dd052a612c162133e441739ac63764c65b1991645d42db14c0f698dda69
data/.solargraph.yml CHANGED
@@ -3,9 +3,6 @@ include:
3
3
  - "**/*.rb"
4
4
  - ".git-hooks/**/*.rb"
5
5
  exclude:
6
- - spec/**/*
7
- - feature/**/*
8
- - test/**/*
9
6
  - vendor/**/*
10
7
  - ".bundle/**/*"
11
8
  require: []
data/Gemfile.lock CHANGED
@@ -12,7 +12,7 @@ GIT
12
12
  PATH
13
13
  remote: .
14
14
  specs:
15
- checkoff (0.46.1)
15
+ checkoff (0.48.0)
16
16
  activesupport
17
17
  asana (> 0.10.0)
18
18
  cache_method
@@ -156,6 +156,8 @@ module Checkoff
156
156
  def convert
157
157
  return %w[resource_subtype milestone] if single_value == 'is_milestone'
158
158
 
159
+ return %w[resource_subtype default_task] if single_value == 'is_not_milestone'
160
+
159
161
  raise "Teach me how to handle #{key} = #{values}"
160
162
  end
161
163
  end
@@ -32,6 +32,17 @@ module Checkoff
32
32
  object.is_a?(Array) && !object.empty? && [fn_name, fn_name.to_s].include?(object[0])
33
33
  end
34
34
 
35
+ # @param task [Asana::Resources::Task]
36
+ # @param field_name [Symbol]
37
+ #
38
+ # @sg-ignore
39
+ # @return [Date, nil]
40
+ def pull_date_field_by_name_or_raise(task, field_name)
41
+ raise "Teach me how to handle field #{field_name}" unless field_name == :modified_at
42
+
43
+ task.modified_at
44
+ end
45
+
35
46
  # @sg-ignore
36
47
  # @param task [Asana::Resources::Task]
37
48
  # @param custom_field_gid [String]
@@ -330,6 +341,34 @@ module Checkoff
330
341
  end
331
342
  end
332
343
 
344
+ # :field_less_than_n_days_ago
345
+ class FieldLessThanNDaysAgoFunctionEvaluator < FunctionEvaluator
346
+ FUNCTION_NAME = :field_less_than_n_days_ago
347
+
348
+ def matches?
349
+ fn?(task_selector, FUNCTION_NAME)
350
+ end
351
+
352
+ def evaluate_arg?(_index)
353
+ false
354
+ end
355
+
356
+ # @param task [Asana::Resources::Task]
357
+ # @param field_name [Symbol]
358
+ # @param num_days [Integer]
359
+ #
360
+ # @return [Boolean]
361
+ def evaluate(task, field_name, num_days)
362
+ time = pull_date_field_by_name_or_raise(task, field_name)
363
+
364
+ return false if time.nil?
365
+
366
+ n_days_ago = (Time.now - (num_days * 24 * 60 * 60))
367
+ # @sg-ignore
368
+ time < n_days_ago
369
+ end
370
+ end
371
+
333
372
  # :custom_field_less_than_n_days_from_now function
334
373
  class CustomFieldLessThanNDaysFromNowFunctionEvaluator < FunctionEvaluator
335
374
  FUNCTION_NAME = :custom_field_less_than_n_days_from_now
@@ -427,6 +466,7 @@ module Checkoff
427
466
  Checkoff::TaskSelectorClasses::AndFunctionEvaluator,
428
467
  Checkoff::TaskSelectorClasses::DuePFunctionEvaluator,
429
468
  Checkoff::TaskSelectorClasses::DueDateSetPFunctionEvaluator,
469
+ Checkoff::TaskSelectorClasses::FieldLessThanNDaysAgoFunctionEvaluator,
430
470
  Checkoff::TaskSelectorClasses::CustomFieldLessThanNDaysFromNowFunctionEvaluator,
431
471
  Checkoff::TaskSelectorClasses::CustomFieldGreaterThanOrEqualToNDaysFromNowFunctionEvaluator,
432
472
  Checkoff::TaskSelectorClasses::StringLiteralEvaluator,
@@ -3,5 +3,5 @@
3
3
  # Command-line and gem client for Asana (unofficial)
4
4
  module Checkoff
5
5
  # Version of library
6
- VERSION = '0.46.1'
6
+ VERSION = '0.48.0'
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkoff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.46.1
4
+ version: 0.48.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-09-02 00:00:00.000000000 Z
11
+ date: 2023-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport