checkoff 0.44.5 → 0.45.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 81ce6b1b9a38e36705d32d7e2bcce456d222b3555ebb3c0227c4b8cb23c2c3e6
4
- data.tar.gz: 3e610639ef54a96a2229b21f75b8af54107d4cdcaae68691f6b4cc0636797fc7
3
+ metadata.gz: 00345dff0088d724665e5f195a171e2d623bc089dc556c1bcf35ce2928b80964
4
+ data.tar.gz: f33a10dc0f469a746c42da0e95ba6144c04fd27f7516d9e7d34d5c1a340fa3db
5
5
  SHA512:
6
- metadata.gz: 2575d2563feb3bad1a0317b96ae8029525d2df88a825d47633d0e314293653aa4f7ffb97a3e44a759926d56849e547261cbd5459c9c409796e84fc8f44d099ef
7
- data.tar.gz: a420379f9b119d8562fe329e61741e6cc40955eb314719507751a420bc28328662c51d91177f6c4885f664fe97049b9d2a76c6e8d01e9285983bebbffb6b3426
6
+ metadata.gz: c259d2f5629b727dd43f6d9d6617a114d8392ef083f3e9a747a2302b5afab9432be160e47e44a19c247fbf34cbc291a34f77c7fc073f84117532c279af406cc8
7
+ data.tar.gz: f999870785ad58d1da096da1f0c96d0080f6430dd377ea9fba2c6d9c8983c32a79524f3175c42aa649fca670c1da00b007f333fed82fbcccf85fbcb4599eb7cc
data/Gemfile.lock CHANGED
@@ -12,7 +12,7 @@ GIT
12
12
  PATH
13
13
  remote: .
14
14
  specs:
15
- checkoff (0.44.5)
15
+ checkoff (0.45.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.6)
25
+ activesupport (7.0.7.2)
26
26
  concurrent-ruby (~> 1.0, >= 1.0.2)
27
27
  i18n (>= 1.6, < 2)
28
28
  minitest (>= 5.1)
@@ -72,7 +72,7 @@ GEM
72
72
  faraday_middleware-multi_json (0.0.6)
73
73
  faraday_middleware
74
74
  multi_json
75
- gli (2.21.0)
75
+ gli (2.21.1)
76
76
  hashdiff (1.0.1)
77
77
  i18n (1.14.1)
78
78
  concurrent-ruby (~> 1.0)
@@ -171,9 +171,15 @@ module Checkoff
171
171
 
172
172
  # @return [Hash<String, String>] the converted params
173
173
  def convert
174
- simple_url_params.to_a.flat_map do |key, values|
174
+ out = simple_url_params.to_a.flat_map do |key, values|
175
175
  convert_arg(key, values).each_slice(2).to_a
176
176
  end.to_h
177
+ unless out.include? 'sort_by'
178
+ # keep results consistent between calls; API using default
179
+ # sort_by does not seem to be.
180
+ out['sort_by'] = 'created_at'
181
+ end
182
+ out
177
183
  end
178
184
 
179
185
  private
@@ -39,13 +39,13 @@ module Checkoff
39
39
  @client = client
40
40
  end
41
41
 
42
- # Default options used in Asana API to pull taskso
42
+ # Default options used in Asana API to pull tasks
43
43
  # @return [Hash<Symbol, Object>]
44
44
  def task_options
45
45
  {
46
46
  per_page: 100,
47
47
  options: {
48
- fields: %w[name completed_at due_at due_on tags
48
+ fields: %w[name completed_at start_at start_on due_at due_on tags
49
49
  memberships.project.gid memberships.section.name dependencies],
50
50
  },
51
51
  }
@@ -44,11 +44,12 @@ module Checkoff
44
44
  def task_ready?(task, ignore_dependencies: false)
45
45
  return false if !ignore_dependencies && incomplete_dependencies?(task)
46
46
 
47
+ start = start_time(task)
47
48
  due = due_time(task)
48
49
 
49
- return true if due.nil?
50
+ return true if start.nil? && due.nil?
50
51
 
51
- due < @time_class.now
52
+ (start || due) < @time_class.now
52
53
  end
53
54
 
54
55
  # Pull a specific task by name
@@ -140,6 +141,15 @@ module Checkoff
140
141
  @config.fetch(:default_assignee_gid)
141
142
  end
142
143
 
144
+ # @param task [Asana::Resources::Task]
145
+ # @return [Time, nil]
146
+ def start_time(task)
147
+ return @time_class.parse(task.start_at) if task.start_at
148
+ return @time_class.parse(task.start_on) if task.start_on
149
+
150
+ nil
151
+ end
152
+
143
153
  # @param task [Asana::Resources::Task]
144
154
  # @return [Time, nil]
145
155
  def due_time(task)
@@ -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.44.5'
6
+ VERSION = '0.45.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.44.5
4
+ version: 0.45.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-07-22 00:00:00.000000000 Z
11
+ date: 2023-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport