checkoff 0.44.3 → 0.44.5

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: a1e122dcb6fa01052af47f61287ae9c9935f33f2b8f76d88ab1c28b60f760643
4
- data.tar.gz: cd3b9ebb8285f665db56624db599cc16b8f48e7b3e9bc7a1496be8bb0d406825
3
+ metadata.gz: 81ce6b1b9a38e36705d32d7e2bcce456d222b3555ebb3c0227c4b8cb23c2c3e6
4
+ data.tar.gz: 3e610639ef54a96a2229b21f75b8af54107d4cdcaae68691f6b4cc0636797fc7
5
5
  SHA512:
6
- metadata.gz: b26dcb1341e3b69da84d527206dc637529fc1e00d2dd9c813a9f0979f5cbf3bebd7a5cb8d5ce4974684026755e84074381b9582866cdeb633c1ed88485856b7f
7
- data.tar.gz: 960570cff6bfc672295d5a1ca14fb9048d06f59b22ad89253f1aa93f701c6c84346c5fcb8bc12d183fa7981ad6464f372d5d898bd2ab05e4560bf5bd07c23841
6
+ metadata.gz: 2575d2563feb3bad1a0317b96ae8029525d2df88a825d47633d0e314293653aa4f7ffb97a3e44a759926d56849e547261cbd5459c9c409796e84fc8f44d099ef
7
+ data.tar.gz: a420379f9b119d8562fe329e61741e6cc40955eb314719507751a420bc28328662c51d91177f6c4885f664fe97049b9d2a76c6e8d01e9285983bebbffb6b3426
data/Gemfile.lock CHANGED
@@ -12,7 +12,7 @@ GIT
12
12
  PATH
13
13
  remote: .
14
14
  specs:
15
- checkoff (0.44.3)
15
+ checkoff (0.44.5)
16
16
  activesupport
17
17
  asana (> 0.10.0)
18
18
  cache_method
@@ -89,7 +89,7 @@
89
89
  # modified_since: nil, per_page: 20, options: {}); end
90
90
  # # @param section [Asana::Resources::section]
91
91
  # # @param options [Hash] the request I/O options.
92
- # # @return [Array<Asana::Resources::Task>]
92
+ # # @return [Enumerable<Asana::Resources::Task>]
93
93
  # def get_tasks(assignee: nil,
94
94
  # project: nil,
95
95
  # section: nil,
@@ -100,12 +100,12 @@
100
100
  # options: {}); end
101
101
  # end
102
102
  # class Workspace
103
- # # @return [Array<Asana::Resources::Workspace>]
103
+ # # @return [Enumerable<Asana::Resources::Workspace>]
104
104
  # def find_all; end
105
105
  # end
106
106
  # class Section
107
107
  # # @param project_gid [String]
108
- # # @return [Array<Asana::Resources::Section>]
108
+ # # @return [Enumerable<Asana::Resources::Section>]
109
109
  # def get_sections_for_project(client, project_gid:, options: {}); end
110
110
  # end
111
111
  # class Project
@@ -21,6 +21,7 @@ module Checkoff
21
21
  DAY = 24 * HOUR
22
22
  REALLY_LONG_CACHE_TIME = HOUR * 1
23
23
  LONG_CACHE_TIME = MINUTE * 15
24
+ MEDIUM_CACHE_TIME = MINUTE * 5
24
25
  SHORT_CACHE_TIME = MINUTE
25
26
 
26
27
  # @!parse
@@ -79,7 +80,7 @@ module Checkoff
79
80
  cache_method :project_or_raise, LONG_CACHE_TIME
80
81
 
81
82
  # find uncompleted tasks in a list
82
- # @param [Array<Asana::Resources::Task>] tasks
83
+ # @param [Enumerable<Asana::Resources::Task>] tasks
83
84
  # @return [Enumerable<Asana::Resources::Task>]
84
85
  def active_tasks(tasks)
85
86
  tasks.select { |task| task.completed_at.nil? }
@@ -89,7 +90,7 @@ module Checkoff
89
90
  # @param [Asana::Resources::Project] project
90
91
  # @param [Boolean] only_uncompleted
91
92
  # @param [Array<String>] extra_fields
92
- # @return [Array<Asana::Resources::Task>]
93
+ # @return [Enumerable<Asana::Resources::Task>]
93
94
  def tasks_from_project(project, only_uncompleted: true, extra_fields: [])
94
95
  options = task_options
95
96
  options[:completed_since] = '9999-12-01' if only_uncompleted
@@ -118,7 +119,8 @@ module Checkoff
118
119
 
119
120
  projects.find_by_workspace(workspace: workspace.gid, per_page: 100)
120
121
  end
121
- cache_method :projects_by_workspace_name, LONG_CACHE_TIME
122
+ # 15 minute cache resulted in 'Your pagination token has expired'
123
+ cache_method :projects_by_workspace_name, MEDIUM_CACHE_TIME
122
124
 
123
125
  # @param [String] workspace_name
124
126
  # @return [Asana::Resources::Project]
@@ -53,7 +53,7 @@ module Checkoff
53
53
  # @param workspace_name [String]
54
54
  # @param project_name [String, Symbol]
55
55
  #
56
- # @return [Array<Asana::Resources::Section>]
56
+ # @return [Enumerable<Asana::Resources::Section>]
57
57
  def sections_or_raise(workspace_name, project_name)
58
58
  project = project_or_raise(workspace_name, project_name)
59
59
  # @sg-ignore
@@ -66,7 +66,7 @@ module Checkoff
66
66
  # @param workspace_name [String]
67
67
  # @param project_name [String, Symbol]
68
68
  # @param extra_fields [Array<String>]
69
- # @return [Hash{[String, nil] => Array<Asana::Resources::Task>}]
69
+ # @return [Hash{[String, nil] => Enumerable<Asana::Resources::Task>}]
70
70
  def tasks_by_section(workspace_name, project_name, extra_fields: [])
71
71
  raise ArgumentError, 'Provided nil workspace name' if workspace_name.nil?
72
72
  raise ArgumentError, 'Provided nil project name' if project_name.nil?
@@ -89,7 +89,7 @@ module Checkoff
89
89
  # @param only_uncompleted [Boolean]
90
90
  # @param extra_fields [Array<String>]
91
91
  #
92
- # @return [Array<Asana::Resources::Task>]
92
+ # @return [Enumerable<Asana::Resources::Task>]
93
93
  def tasks(workspace_name, project_name, section_name,
94
94
  only_uncompleted: true,
95
95
  extra_fields: [])
@@ -141,7 +141,7 @@ module Checkoff
141
141
  # tasks with section name -> task list of the uncompleted tasks
142
142
  # @param project [Asana::Resources::Project]
143
143
  # @param extra_fields [Array<String>]
144
- # @return [Hash<[String,nil], Array<Asana::Resources::Task>>]
144
+ # @return [Hash<[String,nil], Enumerable<Asana::Resources::Task>>]
145
145
  def tasks_by_section_for_project(project, extra_fields: [])
146
146
  raw_tasks = projects.tasks_from_project(project, extra_fields: extra_fields)
147
147
  active_tasks = projects.active_tasks(raw_tasks)
@@ -151,16 +151,16 @@ module Checkoff
151
151
  # @param name [String]
152
152
  # @return [String, nil]
153
153
  def section_key(name)
154
- inbox_section_names = ['(no section)', 'Untitled section', 'Inbox']
154
+ inbox_section_names = ['(no section)', 'Untitled section', 'Inbox', 'Recently assigned']
155
155
  return nil if inbox_section_names.include?(name)
156
156
 
157
157
  name
158
158
  end
159
159
 
160
160
  # Given a list of tasks, pull a Hash of tasks with section name -> task list
161
- # @param tasks [Array<Asana::Resources::Task>]
161
+ # @param tasks [Enumerable<Asana::Resources::Task>]
162
162
  # @param project_gid [String]
163
- # @return [Hash<[String,nil], Array<Asana::Resources::Task>>]
163
+ # @return [Hash<[String,nil], Enumerable<Asana::Resources::Task>>]
164
164
  def by_section(tasks, project_gid)
165
165
  by_section = {}
166
166
  # @sg-ignore
@@ -171,7 +171,7 @@ module Checkoff
171
171
  end
172
172
  cache_method :by_section, LONG_CACHE_TIME
173
173
 
174
- # @param by_section [Hash{[String, nil] => Array<Asana::Resources::Task>}]
174
+ # @param by_section [Hash{[String, nil] => Enumerable<Asana::Resources::Task>}]
175
175
  # @param task [Asana::Resources::Task]
176
176
  # @param project_gid [String]
177
177
  # @return [void]
@@ -27,8 +27,8 @@ module Checkoff
27
27
  end
28
28
 
29
29
  # pulls a Hash of subtasks broken out by section
30
- # @param tasks [Array<Asana::Resources::Task>]
31
- # @return [Hash<[nil,String], Array<Asana::Resources::Task>>]
30
+ # @param tasks [Enumerable<Asana::Resources::Task>]
31
+ # @return [Hash<[nil,String], Enumerable<Asana::Resources::Task>>]
32
32
  def by_section(tasks)
33
33
  current_section = nil
34
34
  by_section = { nil => [] }
data/lib/checkoff/tags.rb CHANGED
@@ -30,7 +30,7 @@ module Checkoff
30
30
  @client = client
31
31
  end
32
32
 
33
- # @return [Array<Asana::Resources::Task>]
33
+ # @return [Enumerable<Asana::Resources::Task>]
34
34
  def tasks(workspace_name, tag_name,
35
35
  only_uncompleted: true,
36
36
  extra_fields: [])
@@ -57,7 +57,7 @@ module Checkoff
57
57
  # @param [String] workspace_name
58
58
  # @param [String] url
59
59
  # @param [Array<String>] extra_fields
60
- # @return [Array<Asana::Resources::Task>]
60
+ # @return [Enumerable<Asana::Resources::Task>]
61
61
  def task_search(workspace_name, url, extra_fields: [])
62
62
  workspace = workspaces.workspace_or_raise(workspace_name)
63
63
  # @sg-ignore
@@ -109,7 +109,7 @@ module Checkoff
109
109
  # @param section_name [String, nil, :unspecified]
110
110
  # @param only_uncompleted [Boolean]
111
111
  # @param extra_fields [Array<String>]
112
- # @return [Array<Asana::Resources::Task>]
112
+ # @return [Enumerable<Asana::Resources::Task>]
113
113
  def tasks_from_section(workspace_name, project_name,
114
114
  section_name:,
115
115
  only_uncompleted:,
@@ -160,7 +160,7 @@ module Checkoff
160
160
  # https://github.com/Asana/ruby-asana/issues/125
161
161
 
162
162
  # @sg-ignore
163
- # @type [Array<Asana::Resources::Task>, nil]
163
+ # @type [Enumerable<Asana::Resources::Task>, nil]
164
164
  dependencies = task.instance_variable_get(:@dependencies)
165
165
  dependencies = task.dependencies.map { |task| { 'gid' => task.gid } } if dependencies.nil?
166
166
 
@@ -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.3'
6
+ VERSION = '0.44.5'
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.3
4
+ version: 0.44.5
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-04 00:00:00.000000000 Z
11
+ date: 2023-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport