checkoff 0.14.0 → 0.14.1
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/coverage/.last_run.json +2 -2
- data/lib/checkoff/tasks.rb +28 -0
- 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: aa6999ea3bcde70f2cba0d6ecbf45102c85041d109e4d0d6ab55b92a941a1f3a
|
|
4
|
+
data.tar.gz: 52fe760413e0a8f559c42b9c0ac736e80f467d4d77578e77315fc0eea98b82ba
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8ed9570ef12c90f3abb8ff8a19a8cf3678729c47785ab3bbfb1b000daab79a257f5df123ae4aa5b93fb9bb22bffb125c83552ee5168a59d4e5ae7ec36b57b31d
|
|
7
|
+
data.tar.gz: fad8749d150cddccdc7bab8baab9084bb63502d02874969113879f4607f02fa791f41444c70419218c45224053a4321a19e4f1c0bf53ac00f759e01d9789fe4d
|
data/Gemfile.lock
CHANGED
data/coverage/.last_run.json
CHANGED
data/lib/checkoff/tasks.rb
CHANGED
|
@@ -16,12 +16,24 @@ module Checkoff
|
|
|
16
16
|
|
|
17
17
|
def initialize(config: Checkoff::ConfigLoader.load(:asana),
|
|
18
18
|
sections: Checkoff::Sections.new(config: config),
|
|
19
|
+
time_class: Time,
|
|
19
20
|
asana_task: Asana::Resources::Task)
|
|
20
21
|
@config = config
|
|
21
22
|
@sections = sections
|
|
23
|
+
@time_class = time_class
|
|
22
24
|
@asana_task = asana_task
|
|
23
25
|
end
|
|
24
26
|
|
|
27
|
+
def task_ready?(task)
|
|
28
|
+
return false if incomplete_dependencies?(task)
|
|
29
|
+
|
|
30
|
+
due = due_time(task)
|
|
31
|
+
|
|
32
|
+
return true if due.nil?
|
|
33
|
+
|
|
34
|
+
due < @time_class.now
|
|
35
|
+
end
|
|
36
|
+
|
|
25
37
|
# Pull a specific task by name
|
|
26
38
|
def task(workspace_name, project_name, task_name,
|
|
27
39
|
section_name: :unspecified,
|
|
@@ -63,5 +75,21 @@ module Checkoff
|
|
|
63
75
|
def default_assignee_gid
|
|
64
76
|
@config.fetch(:default_assignee_gid)
|
|
65
77
|
end
|
|
78
|
+
|
|
79
|
+
def due_time(task)
|
|
80
|
+
return @time_class.parse(task.due_at) if task.due_at
|
|
81
|
+
return @time_class.parse(task.due_on) if task.due_on
|
|
82
|
+
|
|
83
|
+
nil
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def incomplete_dependencies?(task)
|
|
87
|
+
task.dependencies.any? do |parent_task_info|
|
|
88
|
+
parent_task_gid = parent_task_info.gid
|
|
89
|
+
parent_task = @asana_task.find_by_id(client, parent_task_gid,
|
|
90
|
+
options: { fields: ['completed'] })
|
|
91
|
+
!parent_task.completed
|
|
92
|
+
end
|
|
93
|
+
end
|
|
66
94
|
end
|
|
67
95
|
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.14.
|
|
4
|
+
version: 0.14.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vince Broz
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-08-
|
|
11
|
+
date: 2021-08-08 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|