checkoff 0.43.0 → 0.44.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: af9b4c58d6440cc99eab9508632a3140d3f1519ad32fdf5f21b65833291999ba
4
- data.tar.gz: 8d32790e9071087f948f9c1e3a3f3870f2de3dd0a1ab835e2b3727b7725d69e0
3
+ metadata.gz: 413eeaac4e3e2a4784e5fca4930fed96beedd594b87f1c8d80460aabe4ee1dd3
4
+ data.tar.gz: 4127604e8d5c3605d49c2fda86fe0c0e1bed95aaeadfc493d8a2b02c19bed94d
5
5
  SHA512:
6
- metadata.gz: cf699102f03d8d6169e317f94aa88229537626ea74ec3b17446396e35fcf7e9d758d1b881d3c0d4fade4324a52e4ec64ed60d6540cac736e11440a9b4fbb1ca4
7
- data.tar.gz: ea3952f4603dcb3344b856df43f11686589f8341763bb360d467bb99c852922b8480c3a41a86829dd25a79d3874561675e4ac4d98e09dddbc059720d86577583
6
+ metadata.gz: 001c49dab8df9d273f2c395dd422509afa82c856712b7dfef9b7c65bf7f23c7d3ada832d32e888b188d38751716ee7e54c8d144b4575cd2de384946002ae6fc5
7
+ data.tar.gz: a10f6ee8a33870277503458dc19809e642d837899c31c1698ba04942356386fe09c713643db3f3694eca7d5495c43fe13c93d2ae7785e3ad383aeed88651e2f0
data/Gemfile.lock CHANGED
@@ -12,7 +12,7 @@ GIT
12
12
  PATH
13
13
  remote: .
14
14
  specs:
15
- checkoff (0.43.0)
15
+ checkoff (0.44.0)
16
16
  activesupport
17
17
  asana (> 0.10.0)
18
18
  cache_method
@@ -22,7 +22,7 @@ PATH
22
22
  GEM
23
23
  remote: https://rubygems.org/
24
24
  specs:
25
- activesupport (7.0.5)
25
+ activesupport (7.0.5.1)
26
26
  concurrent-ruby (~> 1.0, >= 1.0.2)
27
27
  i18n (>= 1.6, < 2)
28
28
  minitest (>= 5.1)
@@ -339,6 +339,30 @@ module Checkoff
339
339
  end
340
340
  end
341
341
 
342
+ # :custom_field_greater_than_or_equal_to_n_days_from_now function
343
+ class CustomFieldGreaterThanOrEqualToNDaysFromNowFunctionEvaluator < FunctionEvaluator
344
+ def matches?
345
+ fn?(task_selector, :custom_field_greater_than_or_equal_to_n_days_from_now)
346
+ end
347
+
348
+ def evaluate_arg?(_index)
349
+ false
350
+ end
351
+
352
+ # @param task [Asana::Resources::Task]
353
+ # @param custom_field_name [String]
354
+ # @param num_days [Integer]
355
+ # @return [Boolean]
356
+ def evaluate(task, custom_field_name, num_days)
357
+ custom_field = pull_custom_field_by_name_or_raise(task, custom_field_name)
358
+
359
+ time_str = custom_field.fetch('display_value')
360
+ time = Time.parse(time_str)
361
+ n_days_from_now = (Time.now + (num_days * 24 * 60 * 60))
362
+ time >= n_days_from_now
363
+ end
364
+ end
365
+
342
366
  # String literals
343
367
  class StringLiteralEvaluator < FunctionEvaluator
344
368
  def matches?
@@ -376,6 +400,7 @@ module Checkoff
376
400
  DuePFunctionEvaluator,
377
401
  DueDateSetPFunctionEvaluator,
378
402
  CustomFieldLessThanNDaysFromNowFunctionEvaluator,
403
+ CustomFieldGreaterThanOrEqualToNDaysFromNowFunctionEvaluator,
379
404
  StringLiteralEvaluator,
380
405
  ].freeze
381
406
 
@@ -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.43.0'
6
+ VERSION = '0.44.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.43.0
4
+ version: 0.44.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-06-26 00:00:00.000000000 Z
11
+ date: 2023-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport