checkoff 0.44.5 → 0.45.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: 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