checkoff 0.8.0 → 0.9.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 +4 -4
- data/.circleci/config.yml +117 -12
- data/.envrc +1 -1
- data/.git-hooks/pre-commit/circle_ci.rb +21 -0
- data/.gitignore +41 -1
- data/.overcommit.yml +24 -12
- data/.rubocop.yml +61 -167
- data/.yamllint.yml +8 -0
- data/CODE_OF_CONDUCT.md +6 -42
- data/Gemfile.lock +132 -0
- data/{LICENSE.txt → LICENSE} +7 -6
- data/Makefile +33 -18
- data/README.md +13 -2
- data/bin/bump +29 -0
- data/bin/rake +29 -0
- data/checkoff.gemspec +5 -2
- data/docs/cookiecutter_input.json +13 -0
- data/fix.sh +274 -0
- data/lib/checkoff/cli.rb +4 -0
- data/lib/checkoff/projects.rb +4 -4
- data/lib/checkoff/sections.rb +8 -3
- data/lib/checkoff/version.rb +1 -1
- data/requirements_dev.txt +1 -0
- metadata +63 -17
- data/.travis.yml +0 -22
- data/lib/tasks/clear_metrics.rake +0 -8
- data/lib/tasks/localtest.rake +0 -4
- data/lib/tasks/quality.rake +0 -9
data/lib/checkoff/cli.rb
CHANGED
@@ -12,6 +12,7 @@ require_relative 'sections'
|
|
12
12
|
|
13
13
|
module Checkoff
|
14
14
|
# Provide ability for CLI to pull Asana items
|
15
|
+
# rubocop:disable Metrics/ClassLength
|
15
16
|
class CLI
|
16
17
|
attr_reader :sections, :stderr
|
17
18
|
|
@@ -86,6 +87,7 @@ module Checkoff
|
|
86
87
|
subargs.task_name = args[2]
|
87
88
|
end
|
88
89
|
|
90
|
+
# rubocop:disable Metrics/MethodLength
|
89
91
|
def parse_args(args)
|
90
92
|
mode = args[0]
|
91
93
|
subargs = OpenStruct.new
|
@@ -99,6 +101,7 @@ module Checkoff
|
|
99
101
|
end
|
100
102
|
[mode, subargs]
|
101
103
|
end
|
104
|
+
# rubocop:enable Metrics/MethodLength
|
102
105
|
|
103
106
|
def output_help
|
104
107
|
stderr.puts 'View tasks:'
|
@@ -135,4 +138,5 @@ module Checkoff
|
|
135
138
|
end
|
136
139
|
end
|
137
140
|
end
|
141
|
+
# rubocop:enable Metrics/ClassLength
|
138
142
|
end
|
data/lib/checkoff/projects.rb
CHANGED
@@ -49,10 +49,10 @@ module Checkoff
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def my_tasks(workspace_name)
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
52
|
+
workspace = @workspaces.workspace_by_name(workspace_name)
|
53
|
+
result = client.user_task_lists.get_user_task_list_for_user(user_gid: 'me',
|
54
|
+
workspace: workspace.gid)
|
55
|
+
gid = result.gid
|
56
56
|
projects.find_by_id(gid)
|
57
57
|
end
|
58
58
|
|
data/lib/checkoff/sections.rb
CHANGED
@@ -4,6 +4,7 @@ require 'forwardable'
|
|
4
4
|
|
5
5
|
module Checkoff
|
6
6
|
# Query different sections of Asana projects
|
7
|
+
# rubocop:disable Metrics/ClassLength
|
7
8
|
class Sections
|
8
9
|
MINUTE = 60
|
9
10
|
LONG_CACHE_TIME = MINUTE * 15
|
@@ -81,7 +82,7 @@ module Checkoff
|
|
81
82
|
raw_tasks = projects.tasks_from_project(project)
|
82
83
|
by_assignee_status =
|
83
84
|
projects.active_tasks(raw_tasks)
|
84
|
-
|
85
|
+
.group_by(&:assignee_status)
|
85
86
|
active_tasks = by_assignee_status[assignee_status]
|
86
87
|
legacy_by_section(active_tasks)
|
87
88
|
end
|
@@ -110,14 +111,16 @@ module Checkoff
|
|
110
111
|
def user_task_list_by_section(workspace_name, project_name)
|
111
112
|
verify_legacy_user_task_list!(workspace_name)
|
112
113
|
|
114
|
+
project = projects.project(workspace_name, project_name)
|
113
115
|
if project_name == :my_tasks
|
114
|
-
legacy_tasks_by_section_for_project(
|
116
|
+
legacy_tasks_by_section_for_project(project)
|
115
117
|
else
|
116
|
-
legacy_tasks_by_section_for_project_and_assignee_status(
|
118
|
+
legacy_tasks_by_section_for_project_and_assignee_status(project,
|
117
119
|
ASSIGNEE_STATUS_BY_PROJECT_NAME.fetch(project_name))
|
118
120
|
end
|
119
121
|
end
|
120
122
|
|
123
|
+
# rubocop:disable Metrics/MethodLength
|
121
124
|
def tasks_by_section(workspace_name, project_name)
|
122
125
|
project = project_or_raise(workspace_name, project_name)
|
123
126
|
case project_name
|
@@ -134,6 +137,7 @@ module Checkoff
|
|
134
137
|
end
|
135
138
|
end
|
136
139
|
cache_method :tasks_by_section, SHORT_CACHE_TIME
|
140
|
+
# rubocop:enable Metrics/MethodLength
|
137
141
|
|
138
142
|
# XXX: Rename to section_tasks
|
139
143
|
def tasks(workspace_name, project_name, section_name)
|
@@ -183,4 +187,5 @@ module Checkoff
|
|
183
187
|
end
|
184
188
|
cache_method :project_task_names, SHORT_CACHE_TIME
|
185
189
|
end
|
190
|
+
# rubocop:enable Metrics/ClassLength
|
186
191
|
end
|
data/lib/checkoff/version.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
yamllint==1.26.0
|
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.
|
4
|
+
version: 0.9.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: 2021-03-
|
11
|
+
date: 2021-03-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -67,7 +67,7 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
70
|
+
name: bump
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: bundler
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: minitest-profile
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: mocha
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
@@ -123,19 +123,19 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: overcommit
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
131
|
+
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- - "
|
136
|
+
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
138
|
+
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
140
|
name: rake
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -164,6 +164,48 @@ dependencies:
|
|
164
164
|
- - ">="
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '3.4'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rubocop
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: rubocop-minitest
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: rubocop-rake
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
167
209
|
- !ruby/object:Gem::Dependency
|
168
210
|
name: simplecov
|
169
211
|
requirement: !ruby/object:Gem::Requirement
|
@@ -188,24 +230,30 @@ extra_rdoc_files: []
|
|
188
230
|
files:
|
189
231
|
- ".circleci/config.yml"
|
190
232
|
- ".envrc"
|
233
|
+
- ".git-hooks/pre-commit/circle_ci.rb"
|
191
234
|
- ".gitignore"
|
192
235
|
- ".overcommit.yml"
|
193
236
|
- ".rubocop.yml"
|
194
237
|
- ".ruby-version"
|
195
|
-
- ".
|
238
|
+
- ".yamllint.yml"
|
196
239
|
- CODE_OF_CONDUCT.md
|
197
240
|
- Gemfile
|
198
|
-
-
|
241
|
+
- Gemfile.lock
|
242
|
+
- LICENSE
|
199
243
|
- Makefile
|
200
244
|
- README.md
|
201
245
|
- Rakefile
|
246
|
+
- bin/bump
|
202
247
|
- bin/checkoff
|
203
248
|
- bin/console
|
249
|
+
- bin/rake
|
204
250
|
- bin/setup
|
205
251
|
- checkoff.gemspec
|
206
252
|
- coverage/.last_run.json
|
253
|
+
- docs/cookiecutter_input.json
|
207
254
|
- docs/example_project.png
|
208
255
|
- exe/checkoff
|
256
|
+
- fix.sh
|
209
257
|
- lib/checkoff.rb
|
210
258
|
- lib/checkoff/cli.rb
|
211
259
|
- lib/checkoff/config_loader.rb
|
@@ -216,11 +264,8 @@ files:
|
|
216
264
|
- lib/checkoff/version.rb
|
217
265
|
- lib/checkoff/workspaces.rb
|
218
266
|
- lib/tasks/ci.rake
|
219
|
-
- lib/tasks/clear_metrics.rake
|
220
267
|
- lib/tasks/default.rake
|
221
268
|
- lib/tasks/feature.rake
|
222
|
-
- lib/tasks/localtest.rake
|
223
|
-
- lib/tasks/quality.rake
|
224
269
|
- lib/tasks/spec.rake
|
225
270
|
- lib/tasks/test.rake
|
226
271
|
- metrics/bigfiles_high_water_mark
|
@@ -240,7 +285,8 @@ files:
|
|
240
285
|
- metrics/rubocop_high_water_mark
|
241
286
|
- metrics/scalastyle_high_water_mark
|
242
287
|
- metrics/shellcheck_high_water_mark
|
243
|
-
|
288
|
+
- requirements_dev.txt
|
289
|
+
homepage: https://github.com/apiology/checkoff
|
244
290
|
licenses:
|
245
291
|
- MIT
|
246
292
|
metadata: {}
|
data/.travis.yml
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
language: ruby
|
2
|
-
cache: bundler
|
3
|
-
before_install:
|
4
|
-
# https://bundler.io/blog/2019/05/14/
|
5
|
-
# solutions-for-cant-find-gem-bundler-with-executable-bundle.html
|
6
|
-
- gem update --system
|
7
|
-
- gem install bundler
|
8
|
-
rvm:
|
9
|
-
# JRuby error with native code build - possibly can be overcome?
|
10
|
-
# checking for main() in -lstdc++... RuntimeError: The compiler failed to generate
|
11
|
-
# https://travis-ci.com/apiology/pronto-punchlist/jobs/264907931
|
12
|
-
# - jruby-head
|
13
|
-
|
14
|
-
# These are currently pending ruby-asana fixes:
|
15
|
-
#
|
16
|
-
# https://github.com/Asana/ruby-asana/pull/99
|
17
|
-
#
|
18
|
-
# - ruby-head
|
19
|
-
# - ruby-3.0
|
20
|
-
- ruby-2.7
|
21
|
-
- ruby-2.6
|
22
|
-
- ruby-2.5
|
data/lib/tasks/localtest.rake
DELETED
data/lib/tasks/quality.rake
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'quality/rake/task'
|
4
|
-
|
5
|
-
Quality::Rake::Task.new do |task|
|
6
|
-
task.skip_tools = %w[reek cane eslint jscs pycodestyle rails_best_practices flake8]
|
7
|
-
task.output_dir = 'metrics'
|
8
|
-
task.exclude_files = ['docs/example_project.png', '.rubocop.yml']
|
9
|
-
end
|