checkoff 0.103.0 → 0.104.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: 18ab918128cd0d805829245306102209f7715f9dfa580a8861b4e97be7aa3b31
4
- data.tar.gz: 0c40f9f30d1a0441de43140dcd442d783c7b6ae5e584e9b0ed23e13acbe5e35e
3
+ metadata.gz: b6d308b4ca05ee88bf3b380772496d9c621cc7b9f521b4cf19eb1351395ed2b2
4
+ data.tar.gz: eb14bb0c6f4dabd72e083ce67a5c3c821be931ac268f3202445714da9ae713aa
5
5
  SHA512:
6
- metadata.gz: 4b0ce332d7ee01af5680511dd1c7da6b7654f94b153b3240d344c64663ebc71ceaff79bc4ae2fb01846430904e167a36b81d55ac581f992524eef3dae50c6783
7
- data.tar.gz: 738deef8848a424fe874711c874f83b70b14320b9df49a85da6b187da8e817887a3d3de9b63cc65411cf866e5813eb759d5c051eaf9b3c1d50726a98fa3dde33
6
+ metadata.gz: 28983082df6a4c00e31fb3f458a6bafc0241920d4f1b5657e6ce3613d86127b0df6561defde8669a9ead845e2ef7d77c10ec1d45603c55d17fe735c5d3d5e716
7
+ data.tar.gz: dc877bc157ed76157327c2e094ff69ff4074275eaa9df93ec9d3fdf8bc67969c4402503ee9435bcf1305f489f0d7ab22f0b43129e69b0abe9e06064b4683f8e7
data/Gemfile.lock CHANGED
@@ -12,7 +12,7 @@ GIT
12
12
  PATH
13
13
  remote: .
14
14
  specs:
15
- checkoff (0.103.0)
15
+ checkoff (0.104.0)
16
16
  activesupport
17
17
  asana (> 0.10.0)
18
18
  cache_method
@@ -15,54 +15,6 @@ module Checkoff
15
15
 
16
16
  private
17
17
 
18
- # @param project [Asana::Resources::Project]
19
- # @param field_name [Symbol]
20
- #
21
- # @sg-ignore
22
- # @return [Date, nil]
23
- def pull_date_field_by_name(project, field_name)
24
- if field_name == :modified
25
- return Time.parse(project.modified_at).to_date unless project.modified_at.nil?
26
-
27
- return nil
28
- end
29
-
30
- if field_name == :due
31
- return Time.parse(project.due_at).to_date unless project.due_at.nil?
32
-
33
- return Date.parse(project.due_on) unless project.due_on.nil?
34
-
35
- return nil
36
- end
37
-
38
- raise "Teach me how to handle field #{field_name}"
39
- end
40
-
41
- # @param project [Asana::Resources::Project]
42
- # @param field_name [Symbol]
43
- #
44
- # @sg-ignore
45
- # @return [Date, Time, nil]
46
- def pull_date_or_time_field_by_name(project, field_name)
47
- if field_name == :due
48
- return Time.parse(project.due_at) unless project.due_at.nil?
49
-
50
- return Date.parse(project.due_on) unless project.due_on.nil?
51
-
52
- return nil
53
- end
54
-
55
- if field_name == :start
56
- return Time.parse(project.start_at) unless project.start_at.nil?
57
-
58
- return Date.parse(project.start_on) unless project.start_on.nil?
59
-
60
- return nil
61
- end
62
-
63
- raise "Teach me how to handle field #{field_name}"
64
- end
65
-
66
18
  # @sg-ignore
67
19
  # @param project [Asana::Resources::Project]
68
20
  # @param custom_field_gid [String]
@@ -18,54 +18,6 @@ module Checkoff
18
18
 
19
19
  private
20
20
 
21
- # @param project [Asana::Resources::Project]
22
- # @param field_name [Symbol]
23
- #
24
- # @sg-ignore
25
- # @return [Date, nil]
26
- def pull_date_field_by_name(project, field_name)
27
- if field_name == :modified
28
- return Time.parse(project.modified_at).to_date unless project.modified_at.nil?
29
-
30
- return nil
31
- end
32
-
33
- if field_name == :due
34
- return Time.parse(project.due_at).to_date unless project.due_at.nil?
35
-
36
- return Date.parse(project.due_on) unless project.due_on.nil?
37
-
38
- return nil
39
- end
40
-
41
- raise "Teach me how to handle field #{field_name}"
42
- end
43
-
44
- # @param project [Asana::Resources::Project]
45
- # @param field_name [Symbol]
46
- #
47
- # @sg-ignore
48
- # @return [Date, Time, nil]
49
- def pull_date_or_time_field_by_name(project, field_name)
50
- if field_name == :due
51
- return Time.parse(project.due_at) unless project.due_at.nil?
52
-
53
- return Date.parse(project.due_on) unless project.due_on.nil?
54
-
55
- return nil
56
- end
57
-
58
- if field_name == :start
59
- return Time.parse(project.start_at) unless project.start_at.nil?
60
-
61
- return Date.parse(project.start_on) unless project.start_on.nil?
62
-
63
- return nil
64
- end
65
-
66
- raise "Teach me how to handle field #{field_name}"
67
- end
68
-
69
21
  # @sg-ignore
70
22
  # @param project [Asana::Resources::Project]
71
23
  # @param custom_field_gid [String]
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require_relative '../function_evaluator'
4
- require 'checkoff/internal/task_timing'
5
4
 
6
5
  module Checkoff
7
6
  module SelectorClasses
@@ -22,29 +21,6 @@ module Checkoff
22
21
 
23
22
  private
24
23
 
25
- # @param task [Asana::Resources::Task]
26
- # @param field_name [Symbol]
27
- #
28
- # @sg-ignore
29
- # @return [Date, nil]
30
- def pull_date_field_by_name(task, field_name)
31
- if field_name == :modified
32
- return Time.parse(task.modified_at).to_date unless task.modified_at.nil?
33
-
34
- return nil
35
- end
36
-
37
- if field_name == :due
38
- return Time.parse(task.due_at).to_date unless task.due_at.nil?
39
-
40
- return Date.parse(task.due_on) unless task.due_on.nil?
41
-
42
- return nil
43
- end
44
-
45
- raise "Teach me how to handle field #{field_name}"
46
- end
47
-
48
24
  # @sg-ignore
49
25
  # @param task [Asana::Resources::Task]
50
26
  # @param custom_field_gid [String]
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative 'task/function_evaluator'
4
4
  require 'checkoff/internal/ready_between_relative'
5
+ require 'checkoff/internal/task_timing'
5
6
 
6
7
  module Checkoff
7
8
  module SelectorClasses
@@ -160,7 +161,9 @@ module Checkoff
160
161
  #
161
162
  # @return [Boolean]
162
163
  def evaluate(task, field_name, num_days)
163
- date = pull_date_field_by_name(task, field_name)
164
+ task_timing = Checkoff::Internal::TaskTiming.new
165
+
166
+ date = task_timing.date_or_time_field_by_name(task, field_name)&.to_date
164
167
 
165
168
  return false if date.nil?
166
169
 
@@ -189,7 +192,8 @@ module Checkoff
189
192
  #
190
193
  # @return [Boolean]
191
194
  def evaluate(task, field_name, num_days)
192
- date = pull_date_field_by_name(task, field_name)
195
+ task_timing = Checkoff::Internal::TaskTiming.new
196
+ date = task_timing.date_or_time_field_by_name(task, field_name)&.to_date
193
197
 
194
198
  return false if date.nil?
195
199
 
@@ -49,6 +49,13 @@ module Checkoff
49
49
  nil
50
50
  end
51
51
 
52
+ # @param task [Asana::Resources::Task]
53
+ #
54
+ # @return [Time, nil]
55
+ def modified_time(task)
56
+ return @time_class.parse(task.modified_at) unless task.modified_at.nil?
57
+ end
58
+
52
59
  # @param task [Asana::Resources::Task]
53
60
  # @param field_name [Symbol]
54
61
  #
@@ -59,6 +66,8 @@ module Checkoff
59
66
 
60
67
  return start_date_or_time(task) if field_name == :start
61
68
 
69
+ return modified_time(task) if field_name == :modified
70
+
62
71
  return start_date_or_time(task) || due_date_or_time(task) if field_name == :ready
63
72
 
64
73
  raise "Teach me how to handle field #{field_name}"
@@ -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.103.0'
6
+ VERSION = '0.104.0'
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: checkoff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.103.0
4
+ version: 0.104.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vince Broz