checkoff 0.223.0 → 0.226.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.
Files changed (228) hide show
  1. checksums.yaml +4 -4
  2. data/checkoff.gemspec +10 -5
  3. data/lib/checkoff/attachments.rb +1 -1
  4. data/lib/checkoff/cli.rb +1 -1
  5. data/lib/checkoff/clients.rb +1 -1
  6. data/lib/checkoff/custom_fields.rb +1 -1
  7. data/lib/checkoff/events.rb +1 -1
  8. data/lib/checkoff/internal/config_loader.rb +2 -3
  9. data/lib/checkoff/internal/selector_classes/section/function_evaluator.rb +3 -2
  10. data/lib/checkoff/my_tasks.rb +1 -1
  11. data/lib/checkoff/portfolios.rb +11 -9
  12. data/lib/checkoff/projects.rb +1 -1
  13. data/lib/checkoff/sections.rb +4 -5
  14. data/lib/checkoff/tags.rb +66 -17
  15. data/lib/checkoff/tasks.rb +1 -1
  16. data/lib/checkoff/version.rb +1 -1
  17. data/lib/checkoff/workspaces.rb +1 -1
  18. data/rbi/checkoff.rbi +4529 -0
  19. data/sig/checkoff.rbs +3749 -0
  20. metadata +5 -211
  21. data/.circleci/config.yml +0 -291
  22. data/.envrc +0 -9
  23. data/.git-hooks/pre_commit/circle_ci.rb +0 -26
  24. data/.git-hooks/pre_commit/punchlist.rb +0 -52
  25. data/.git-hooks/pre_commit/solargraph_typecheck.rb +0 -77
  26. data/.gitattributes +0 -6
  27. data/.gitignore +0 -65
  28. data/.markdownlint_style.rb +0 -4
  29. data/.mdlrc +0 -1
  30. data/.overcommit.yml +0 -115
  31. data/.rubocop.yml +0 -143
  32. data/.rubocop_todo.yml +0 -90
  33. data/.solargraph.yml +0 -35
  34. data/.yamllint.yml +0 -8
  35. data/.yardopts +0 -2
  36. data/CODE_OF_CONDUCT.md +0 -133
  37. data/CONTRIBUTING.rst +0 -75
  38. data/DEVELOPMENT.md +0 -69
  39. data/GLOSSARY.md +0 -16
  40. data/Gemfile +0 -67
  41. data/Gemfile.lock +0 -351
  42. data/LICENSE +0 -21
  43. data/Makefile +0 -139
  44. data/bin/brakeman +0 -27
  45. data/bin/bump +0 -29
  46. data/bin/checkoff +0 -29
  47. data/bin/console +0 -15
  48. data/bin/overcommit +0 -29
  49. data/bin/overcommit_branch +0 -114
  50. data/bin/rake +0 -29
  51. data/bin/rubocop +0 -27
  52. data/bin/setup +0 -8
  53. data/bin/solargraph +0 -27
  54. data/bin/sord +0 -27
  55. data/bin/spoom +0 -27
  56. data/bin/srb +0 -27
  57. data/bin/srb-rbi +0 -27
  58. data/bin/tapioca +0 -27
  59. data/bin/yard +0 -27
  60. data/config/annotations_asana.rb +0 -253
  61. data/config/annotations_misc.rb +0 -68
  62. data/config/env.1p +0 -2
  63. data/docs/.gitignore +0 -3
  64. data/docs/cookiecutter_input.json +0 -17
  65. data/docs/example_project.png +0 -0
  66. data/fix.sh +0 -534
  67. data/metrics/bigfiles_high_water_mark +0 -1
  68. data/metrics/brakeman_high_water_mark +0 -1
  69. data/metrics/bundle-audit_high_water_mark +0 -1
  70. data/metrics/cane_high_water_mark +0 -1
  71. data/metrics/eslint_high_water_mark +0 -1
  72. data/metrics/flake8_high_water_mark +0 -1
  73. data/metrics/flay_high_water_mark +0 -1
  74. data/metrics/flog_high_water_mark +0 -1
  75. data/metrics/jscs_high_water_mark +0 -1
  76. data/metrics/mdl_high_water_mark +0 -1
  77. data/metrics/pep8_high_water_mark +0 -1
  78. data/metrics/punchlist_high_water_mark +0 -1
  79. data/metrics/pycodestyle_high_water_mark +0 -1
  80. data/metrics/rails_best_practices_high_water_mark +0 -1
  81. data/metrics/rubocop_high_water_mark +0 -1
  82. data/metrics/scalastyle_high_water_mark +0 -1
  83. data/metrics/shellcheck_high_water_mark +0 -1
  84. data/package.json +0 -9
  85. data/rakelib/citest.rake +0 -4
  86. data/rakelib/clear_metrics.rake +0 -9
  87. data/rakelib/console.rake +0 -15
  88. data/rakelib/default.rake +0 -4
  89. data/rakelib/doc.rake +0 -6
  90. data/rakelib/gem_tasks.rake +0 -3
  91. data/rakelib/localtest.rake +0 -4
  92. data/rakelib/overcommit.rake +0 -6
  93. data/rakelib/quality.rake +0 -4
  94. data/rakelib/repl.rake +0 -4
  95. data/rakelib/test.rake +0 -10
  96. data/rakelib/trigger_next_builds.rake +0 -7
  97. data/rakelib/undercover.rake +0 -8
  98. data/requirements_dev.txt +0 -2
  99. data/sorbet/config +0 -4
  100. data/sorbet/rbi/annotations/.gitattributes +0 -1
  101. data/sorbet/rbi/annotations/activesupport.rbi +0 -453
  102. data/sorbet/rbi/annotations/faraday.rbi +0 -17
  103. data/sorbet/rbi/annotations/minitest.rbi +0 -119
  104. data/sorbet/rbi/annotations/mocha.rbi +0 -34
  105. data/sorbet/rbi/annotations/rainbow.rbi +0 -269
  106. data/sorbet/rbi/annotations/webmock.rbi +0 -9
  107. data/sorbet/rbi/dsl/.gitattributes +0 -1
  108. data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -23
  109. data/sorbet/rbi/gems/.gitattributes +0 -1
  110. data/sorbet/rbi/gems/activesupport@7.1.5.rbi +0 -18746
  111. data/sorbet/rbi/gems/addressable@2.8.6.rbi +0 -1994
  112. data/sorbet/rbi/gems/ansi@1.5.0.rbi +0 -688
  113. data/sorbet/rbi/gems/asana@0.10.6-ab9393136d9ca59b75e42a661fdddc1c65c8f7c3.rbi +0 -6142
  114. data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -585
  115. data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -523
  116. data/sorbet/rbi/gems/base64@0.2.0.rbi +0 -509
  117. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +0 -618
  118. data/sorbet/rbi/gems/bigdecimal@3.1.5.rbi +0 -78
  119. data/sorbet/rbi/gems/brakeman@6.2.2.rbi +0 -222
  120. data/sorbet/rbi/gems/builder@3.2.4.rbi +0 -505
  121. data/sorbet/rbi/gems/bump@0.10.0.rbi +0 -169
  122. data/sorbet/rbi/gems/cache@0.4.1.rbi +0 -211
  123. data/sorbet/rbi/gems/cache_method@0.2.7.rbi +0 -293
  124. data/sorbet/rbi/gems/chef-utils@18.3.0.rbi +0 -9
  125. data/sorbet/rbi/gems/childprocess@5.1.0.rbi +0 -383
  126. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -3427
  127. data/sorbet/rbi/gems/commander@4.6.0.rbi +0 -9
  128. data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +0 -11591
  129. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +0 -9
  130. data/sorbet/rbi/gems/crack@0.4.5.rbi +0 -145
  131. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +0 -969
  132. data/sorbet/rbi/gems/docile@1.4.0.rbi +0 -377
  133. data/sorbet/rbi/gems/drb@2.2.1.rbi +0 -1347
  134. data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -9
  135. data/sorbet/rbi/gems/erubi@1.13.0.rbi +0 -152
  136. data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +0 -222
  137. data/sorbet/rbi/gems/faraday-em_synchrony@1.0.0.rbi +0 -126
  138. data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +0 -136
  139. data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +0 -145
  140. data/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi +0 -259
  141. data/sorbet/rbi/gems/faraday-net_http@1.0.1.rbi +0 -142
  142. data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +0 -118
  143. data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +0 -125
  144. data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +0 -133
  145. data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +0 -198
  146. data/sorbet/rbi/gems/faraday@1.10.3.rbi +0 -2729
  147. data/sorbet/rbi/gems/faraday_middleware-multi_json@0.0.6.rbi +0 -29
  148. data/sorbet/rbi/gems/faraday_middleware@1.2.0.rbi +0 -1004
  149. data/sorbet/rbi/gems/gli@2.22.0.rbi +0 -9
  150. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +0 -351
  151. data/sorbet/rbi/gems/highline@2.0.3.rbi +0 -9
  152. data/sorbet/rbi/gems/i18n@1.14.6.rbi +0 -2359
  153. data/sorbet/rbi/gems/imagen@0.1.8.rbi +0 -340
  154. data/sorbet/rbi/gems/iniparse@1.5.0.rbi +0 -899
  155. data/sorbet/rbi/gems/jaro_winkler@1.6.0.rbi +0 -22
  156. data/sorbet/rbi/gems/json@2.7.1.rbi +0 -1562
  157. data/sorbet/rbi/gems/jwt@2.7.1.rbi +0 -1405
  158. data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -128
  159. data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3272
  160. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14238
  161. data/sorbet/rbi/gems/logger@1.6.2.rbi +0 -923
  162. data/sorbet/rbi/gems/mdl@0.13.0.rbi +0 -445
  163. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -273
  164. data/sorbet/rbi/gems/mime-types-data@3.2023.1205.rbi +0 -127
  165. data/sorbet/rbi/gems/mime-types@3.5.1.rbi +0 -1252
  166. data/sorbet/rbi/gems/minitest-profile@0.0.2.rbi +0 -136
  167. data/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi +0 -1014
  168. data/sorbet/rbi/gems/minitest@5.21.1.rbi +0 -1539
  169. data/sorbet/rbi/gems/mixlib-cli@2.1.8.rbi +0 -314
  170. data/sorbet/rbi/gems/mixlib-config@3.0.27.rbi +0 -581
  171. data/sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi +0 -629
  172. data/sorbet/rbi/gems/mocha@2.1.0.rbi +0 -12
  173. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +0 -268
  174. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +0 -102
  175. data/sorbet/rbi/gems/multipart-post@2.3.0.rbi +0 -234
  176. data/sorbet/rbi/gems/mutex_m@0.3.0.rbi +0 -97
  177. data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -159
  178. data/sorbet/rbi/gems/nokogiri@1.17.0.rbi +0 -8201
  179. data/sorbet/rbi/gems/oauth2@1.4.11.rbi +0 -833
  180. data/sorbet/rbi/gems/overcommit@0.64.1.rbi +0 -2400
  181. data/sorbet/rbi/gems/parallel@1.23.0.rbi +0 -274
  182. data/sorbet/rbi/gems/parlour@5.0.0.rbi +0 -3007
  183. data/sorbet/rbi/gems/parser@3.2.2.4.rbi +0 -7253
  184. data/sorbet/rbi/gems/prism@1.2.0.rbi +0 -39085
  185. data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -10070
  186. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +0 -936
  187. data/sorbet/rbi/gems/punchlist@1.3.2.rbi +0 -173
  188. data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -162
  189. data/sorbet/rbi/gems/rack@3.1.8.rbi +0 -4896
  190. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -403
  191. data/sorbet/rbi/gems/rake@13.1.0.rbi +0 -3022
  192. data/sorbet/rbi/gems/rbi@0.2.1.rbi +0 -4535
  193. data/sorbet/rbi/gems/rbs@2.8.4.rbi +0 -5613
  194. data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +0 -3750
  195. data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -390
  196. data/sorbet/rbi/gems/rexml@3.3.9.rbi +0 -4964
  197. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +0 -7127
  198. data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +0 -2577
  199. data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +0 -3262
  200. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -329
  201. data/sorbet/rbi/gems/rubocop-rspec@3.0.0.rbi +0 -7546
  202. data/sorbet/rbi/gems/rubocop@1.59.0.rbi +0 -57238
  203. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1318
  204. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +0 -9
  205. data/sorbet/rbi/gems/rugged@1.6.3.rbi +0 -1577
  206. data/sorbet/rbi/gems/securerandom@0.4.0.rbi +0 -75
  207. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -217
  208. data/sorbet/rbi/gems/simplecov-lcov@0.8.0.rbi +0 -256
  209. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +0 -2149
  210. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +0 -9
  211. data/sorbet/rbi/gems/solargraph-rails@1.1.0-9dc37915bd4f3b169046e34db6fb32193ab347d8.rbi +0 -320
  212. data/sorbet/rbi/gems/solargraph@0.50.1-904b9304770a59fac393c5cc3cad481e5bdf0fd8.rbi +0 -9396
  213. data/sorbet/rbi/gems/sord@5.1.0.rbi +0 -820
  214. data/sorbet/rbi/gems/source_finder@3.2.1.rbi +0 -317
  215. data/sorbet/rbi/gems/spoom@1.5.0.rbi +0 -4932
  216. data/sorbet/rbi/gems/tapioca@0.16.5.rbi +0 -3617
  217. data/sorbet/rbi/gems/thor@1.3.2.rbi +0 -4378
  218. data/sorbet/rbi/gems/tilt@2.4.0.rbi +0 -933
  219. data/sorbet/rbi/gems/tomlrb@2.0.3.rbi +0 -9
  220. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +0 -5918
  221. data/sorbet/rbi/gems/undercover@0.5.0.rbi +0 -433
  222. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -66
  223. data/sorbet/rbi/gems/webmock@3.19.1.rbi +0 -1769
  224. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
  225. data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18406
  226. data/sorbet/rbi/todo.rbi +0 -11
  227. data/sorbet/tapioca/config.yml +0 -13
  228. data/sorbet/tapioca/require.rb +0 -4
@@ -1,77 +0,0 @@
1
- # typed: false
2
- # frozen_string_literal: true
3
-
4
- require 'overcommit'
5
- require 'overcommit/hook/pre_commit/base'
6
-
7
- # @!override Overcommit::Hook::Base#execute
8
- # @return [Overcommit::Subprocess::Result]
9
-
10
- module Overcommit
11
- module Hook
12
- module PreCommit
13
- # Runs `solargraph typecheck` against any modified Ruby files.
14
- class SolargraphTypecheck < Base
15
- # @return [Array<String>]
16
- def run
17
- errors = []
18
-
19
- generate_errors_for_files(errors, *applicable_files)
20
-
21
- # output message to stderr
22
- errors
23
- end
24
-
25
- private
26
-
27
- # @param stderr [String]
28
- #
29
- # @return [Array<String>]
30
- def remove_harmless_glitches(stderr)
31
- stderr.split("\n").reject do |line|
32
- line.include?('[WARN]') ||
33
- line.include?('warning: parser/current is loading') ||
34
- line.include?('Please see https://github.com/whitequark')
35
- end
36
- end
37
-
38
- # @param errors [Array<String>]
39
- # @param file [String]
40
- # @return [void]
41
- def generate_errors_for_files(errors, *files)
42
- result = execute(['bundle', 'exec', 'solargraph', 'typecheck', '--level', 'strong', *files])
43
- return if result.success?
44
-
45
- stderr = remove_harmless_glitches(result.stderr)
46
- raise result.stderr unless stderr.empty?
47
-
48
- # @type [String]
49
- stdout = result.stdout
50
-
51
- stdout.split("\n").each do |error|
52
- error = parse_error(error)
53
- errors << error unless error.nil?
54
- end
55
- end
56
-
57
- # @param error [String]
58
- # @return [Overcommit::Hook::Message, nil]
59
- def parse_error(error)
60
- # Parse the result for the line number
61
- # @type [MatchData]
62
- match = error.match(/^(.+?):(\d+)/)
63
- return nil unless match
64
-
65
- # @!override MatchData.captures
66
- # @return [Array]
67
- # @sg-ignore
68
- file_path, lineno = match.captures
69
- message = error.sub("#{file_path}:#{lineno} - ",
70
- "#{file_path}:#{lineno}: ")
71
- # Emit the errors in the specified format
72
- Overcommit::Hook::Message.new(:error, file_path, lineno.to_i, message)
73
- end
74
- end
75
- end
76
- end
77
- end
data/.gitattributes DELETED
@@ -1,6 +0,0 @@
1
- # there's a lot of .sh in the build machinery; this can overwhelm
2
- # smaller projects and confuse GitHub's detection of majority project
3
- # type (GitHub uses the linguist library)
4
- #
5
- # https://dev.to/katkelly/changing-your-repo-s-language-in-github-5gjo
6
- *.sh linguist-detectable=false
data/.gitignore DELETED
@@ -1,65 +0,0 @@
1
- # OSX useful to ignore
2
- *.DS_Store
3
- .AppleDouble
4
- .LSOverride
5
-
6
- # Thumbnails
7
- ._*
8
-
9
- # Files that might appear in the root of a volume
10
- .DocumentRevisions-V100
11
- .fseventsd
12
- .Spotlight-V100
13
- .TemporaryItems
14
- .Trashes
15
- .VolumeIcon.icns
16
- .com.apple.timemachine.donotpresent
17
-
18
- # Directories potentially created on remote AFP share
19
- .AppleDB
20
- .AppleDesktop
21
- Network Trash Folder
22
- Temporary Items
23
- .apdisk
24
-
25
- # IntelliJ Idea family of suites
26
- .idea
27
- *.iml
28
- ## File-based project format:
29
- *.ipr
30
- *.iws
31
- ## mpeltonen/sbt-idea plugin
32
- .idea_modules/
33
-
34
- # IDE settings
35
- .vscode/
36
-
37
- # Editor temp files
38
- *~
39
- \#*\#
40
-
41
- # Used by Makefile to track what we have and haven't installed
42
- Gemfile.lock.installed
43
- requirements_dev.txt.installed
44
- types.installed
45
- tapioca.installed
46
-
47
- # generated from local source
48
- config/defs.rbi
49
-
50
- # Used by CircleCI as a place to store installed gems
51
- /vendor
52
-
53
- # Installed by fix.sh based on what latest versions are
54
- /.python-version
55
- /.ruby-version
56
-
57
- # Ruby-related
58
- /.bundle/
59
- /.yardoc
60
- /_yardoc/
61
- /doc/
62
- /pkg/
63
- /spec/reports/
64
- /tmp/
65
- /coverage/
@@ -1,4 +0,0 @@
1
- # typed: false
2
- # frozen_string_literal: true
3
-
4
- rule 'MD029', style: 'ordered'
data/.mdlrc DELETED
@@ -1 +0,0 @@
1
- style ".markdownlint_style.rb"
data/.overcommit.yml DELETED
@@ -1,115 +0,0 @@
1
- ---
2
- # Use this file to configure the Overcommit hooks you wish to use. This will
3
- # extend the default configuration defined in:
4
- # https://github.com/sds/overcommit/blob/master/config/default.yml
5
- #
6
- # At the topmost level of this YAML file is a key representing type of hook
7
- # being run (e.g. pre-commit, commit-msg, etc.). Within each type you can
8
- # customize each hook, such as whether to only run it on certain files (via
9
- # `include`), whether to only display output if it fails (via `quiet`), etc.
10
- #
11
- # For a complete list of hooks, see:
12
- # https://github.com/sds/overcommit/tree/master/lib/overcommit/hook
13
- #
14
- # For a complete list of options that you can use to customize hooks, see:
15
- # https://github.com/sds/overcommit#configuration
16
- #
17
- # Uncomment the following lines to make the configuration take effect.
18
-
19
- PreCommit:
20
- # Extend default config at
21
- # https://github.com/sds/overcommit/blob/master/config/default.yml
22
- BrokenSymlinks:
23
- enabled: true
24
- description: 'Check for broken symlinks'
25
- quiet: true
26
- RuboCop:
27
- enabled: true
28
- command: ['bundle', 'exec', 'rubocop']
29
- include:
30
- - '**/*.gemspec'
31
- - '**/*.rake'
32
- - '**/*.rb'
33
- - '**/*.ru'
34
- - '**/Gemfile'
35
- - '**/Rakefile'
36
- - 'bin/*'
37
- - 'exe/*'
38
- - 'script/*'
39
- problem_on_unmodified_line: warn
40
- exclude:
41
- - db/migrate/*.rb
42
- - db/schema.rb
43
- PythonFlake8:
44
- enabled: true
45
- on_warn: fail
46
- ShellCheck:
47
- enabled: true
48
- on_warn: fail
49
- include:
50
- - '.envrc'
51
- - '**/*.sh'
52
- YamlLint:
53
- enabled: true
54
- flags: ['-c', '.yamllint.yml', '--format=parsable', '--strict']
55
- on_warn: fail
56
- exclude:
57
- - '.rubocop_todo.yml' # generated
58
- - 'sorbet/**/*' # generated
59
- CircleCi:
60
- required_executable: 'circleci'
61
- flags: ['config', 'validate']
62
- include:
63
- - '.circleci/config.yml'
64
- enabled: true
65
- SolargraphTypecheck:
66
- enabled: true
67
- problem_on_unmodified_line: warn
68
- include:
69
- # process first
70
- - "config/annotations*.rb"
71
- - "**/*.rb"
72
- - "**/.*.rb"
73
- - "lib/tasks/*.rake"
74
- - ".git-hooks/**/*.rb"
75
- - "script/*"
76
- - "bin/*"
77
- - "bin/overcommit_branch"
78
- exclude:
79
- - script/.rubocop.yml
80
- - vendor/**/*
81
- - spec/**/*
82
- - feature/**/*
83
- - test/**/*
84
- - ".bundle/**/*"
85
- - ".markdownlint_style.rb"
86
- Sorbet:
87
- enabled: true
88
- problem_on_unmodified_line: warn
89
- Punchlist:
90
- command: ['bundle', 'exec', 'punchlist']
91
- enabled: true
92
- problem_on_unmodified_line: warn
93
- exclude:
94
- - 'sorbet/**/*'
95
-
96
- PrePush:
97
- Brakeman:
98
- enabled: true
99
- flags: ['--exit-on-warn', '--quiet', '--summary', '--force']
100
- RakeTarget:
101
- enabled: true
102
- command: ['bundle', 'exec', 'rake']
103
- include:
104
- - 'Rakefile'
105
- targets:
106
- - 'clear_metrics'
107
- - 'test'
108
- - 'undercover'
109
-
110
- #PostCheckout:
111
- # ALL: # Special hook name that customizes all hooks of this type
112
- # quiet: true # Change all post-checkout hooks to only display output on failure
113
- #
114
- # IndexTags:
115
- # enabled: true # Generate a tags file with `ctags` each time HEAD changes
data/.rubocop.yml DELETED
@@ -1,143 +0,0 @@
1
- ---
2
- inherit_from: .rubocop_todo.yml
3
-
4
- Gemspec/RequireMFA:
5
- # We publish via CI/CD, so MFA is not possible.
6
- Enabled: false
7
-
8
- Layout/LineLength:
9
- Max: 120
10
-
11
- Layout/MultilineMethodCallIndentation:
12
- EnforcedStyle: indented
13
-
14
- Lint/EmptyClass:
15
- # some workarounds for circular dependencies require empty classes
16
- AllowComments: true
17
-
18
- # conflicts with solargraph wanting every parameter documented with
19
- # actual name and subclassing
20
- Lint/UnusedMethodArgument:
21
- Enabled: false
22
-
23
- # https://stackoverflow.com/questions/40934345/rubocop-25-line-block-size-and-rspec-tests
24
- Metrics/BlockLength:
25
- # Exclude DSLs
26
- Exclude:
27
- - 'Rakefile'
28
- - '*.gemspec'
29
- - '**/*.rake'
30
- - 'spec/**/*.rb'
31
- - 'feature/**/*.rb'
32
-
33
- # I use keyword arguments for a poor man's dependency injection to cut
34
- # down on the magic in my tests.
35
- Metrics/ParameterLists:
36
- CountKeywordArgs: false
37
-
38
- # Can try removing this after I have a release installed with this
39
- # fix (probably in rubocop-minitest 0.10.3):
40
- #
41
- # https://github.com/rubocop-hq/rubocop-minitest/pull/116
42
- Minitest/TestMethodName:
43
- Enabled: false
44
-
45
- Naming/FileName:
46
- Exclude:
47
- - 'lib/checkoff.rb'
48
-
49
- Naming/HeredocDelimiterNaming:
50
- Enabled: false
51
-
52
- Naming/MethodParameterName:
53
- Enabled: true
54
- AllowedNames:
55
- # I don't think things on this list are a terribly hard convention
56
- # for folks to learn. bbatsov also doesn't care much for this
57
- # check:
58
- #
59
- # https://github.com/rubocop-hq/rubocop/issues/3666
60
- - e # exception
61
- - x # cartesian coordinates
62
- - y # cartesian coordinates
63
- - n # number of things
64
-
65
- # by default (EnforcedStyle=NormalCase) this rule doesn't like
66
- # things like check_1, check_2, etc and wants check1, check2, etc. I
67
- # like the former.
68
- #
69
- # https://docs.rubocop.org/rubocop/cops_naming.html#namingvariablenumber
70
- Naming/VariableNumber:
71
- Enabled: true
72
- EnforcedStyle: snake_case
73
-
74
- #
75
- # Add 'XX X' to the standard list
76
- #
77
- Style/CommentAnnotation:
78
- Keywords:
79
- - "TOD\
80
- O"
81
- - "FIXM\
82
- E"
83
- - "OPTIMIZ\
84
- E"
85
- - "HAC\
86
- K"
87
- - "REVIE\
88
- W"
89
- - "XX\
90
- X"
91
-
92
- Style/DocumentationMethod:
93
- Enabled: true
94
- Include:
95
- - 'lib/checkoff/*.rb'
96
-
97
- Style/StringLiterals:
98
- EnforcedStyle: single_quotes
99
- SupportedStyles:
100
- - single_quotes
101
- - double_quotes
102
- ConsistentQuotesInMultiline: true
103
-
104
- # Solargraph needs to see a class inherited from Struct to recognize
105
- # what's going on
106
- Style/StructInheritance:
107
- Enabled: false
108
-
109
- # I like trailing commas in arrays and hashes. They let me insert new
110
- # elements and see them as one line in a diff, not two.
111
- Style/TrailingCommaInArrayLiteral:
112
- EnforcedStyleForMultiline: comma
113
-
114
- Style/TrailingCommaInHashLiteral:
115
- EnforcedStyleForMultiline: comma
116
-
117
- # If I'm using one function name and returning the contents of an
118
- # attribute, that's OK. The alternative would be this, which I find
119
- # confusing and often not really what I mean:
120
- #
121
- # attr_reader :something_else
122
- # alias_method :something, :something_else
123
- Style/TrivialAccessors:
124
- ExactNameMatch: true
125
-
126
- Lint:
127
- Severity: error
128
-
129
- Metrics:
130
- Severity: error
131
-
132
- AllCops:
133
- NewCops: enable
134
- TargetRubyVersion: 3.0
135
- Exclude:
136
- - 'bin/*'
137
- - 'vendor/**/*'
138
- - 'sorbet/**/*'
139
-
140
- require:
141
- - rubocop-minitest
142
- - rubocop-performance
143
- - rubocop-rake
data/.rubocop_todo.yml DELETED
@@ -1,90 +0,0 @@
1
- # This configuration was generated by
2
- # `rubocop --auto-gen-config --auto-gen-only-exclude --no-exclude-limit --no-auto-gen-timestamp`
3
- # using RuboCop version 1.59.0.
4
- # The point is for the user to remove these configuration records
5
- # one by one as the offenses are removed from the code base.
6
- # Note that changes in the inspected code, or installation of new
7
- # versions of RuboCop, may require this file to be generated again.
8
-
9
- # Offense count: 21
10
- # Configuration parameters: AllowedMethods, AllowedPatterns, CountRepeatedAttributes, Max.
11
- Metrics/AbcSize:
12
- Exclude:
13
- - 'lib/checkoff/internal/asana_event_filter.rb'
14
- - 'lib/checkoff/task_searches.rb'
15
- - 'lib/checkoff/tasks.rb'
16
- - 'lib/checkoff/timelines.rb'
17
- - 'test/unit/test_portfolios.rb'
18
- - 'test/unit/test_task_selectors.rb'
19
- - 'test/unit/test_tasks.rb'
20
- - 'test/unit/test_timelines.rb'
21
-
22
- # Offense count: 9
23
- # Configuration parameters: CountComments, Max, CountAsOne.
24
- Metrics/ClassLength:
25
- Exclude:
26
- - 'lib/checkoff/attachments.rb'
27
- - 'lib/checkoff/custom_fields.rb'
28
- - 'lib/checkoff/projects.rb'
29
- - 'lib/checkoff/sections.rb'
30
- - 'lib/checkoff/tasks.rb'
31
- - 'lib/checkoff/timing.rb'
32
- - 'test/unit/test_sections.rb'
33
- - 'test/unit/test_tasks.rb'
34
- - 'test/unit/test_timelines.rb'
35
-
36
- # Offense count: 4
37
- # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
38
- Metrics/CyclomaticComplexity:
39
- Exclude:
40
- - 'lib/checkoff/internal/asana_event_filter.rb'
41
- - 'lib/checkoff/internal/task_timing.rb'
42
- - 'lib/checkoff/timelines.rb'
43
-
44
- # Offense count: 12
45
- # Configuration parameters: CountComments, Max, CountAsOne, AllowedMethods, AllowedPatterns.
46
- Metrics/MethodLength:
47
- Exclude:
48
- - 'lib/checkoff/attachments.rb'
49
- - 'lib/checkoff/internal/asana_event_filter.rb'
50
- - 'lib/checkoff/internal/search_url/date_param_converter.rb'
51
- - 'lib/checkoff/my_tasks.rb'
52
- - 'lib/checkoff/task_searches.rb'
53
- - 'lib/checkoff/tasks.rb'
54
- - 'lib/checkoff/timelines.rb'
55
- - 'lib/checkoff/timing.rb'
56
-
57
- # Offense count: 2
58
- # Configuration parameters: AllowedMethods, AllowedPatterns, Max.
59
- Metrics/PerceivedComplexity:
60
- Exclude:
61
- - 'lib/checkoff/timelines.rb'
62
-
63
- # Offense count: 2
64
- # Configuration parameters: MinSize.
65
- Performance/CollectionLiteralInLoop:
66
- Exclude:
67
- - 'lib/checkoff/tasks.rb'
68
- - 'test/unit/test_helper.rb'
69
-
70
- # Offense count: 1
71
- # This cop supports unsafe autocorrection (--autocorrect-all).
72
- Performance/InefficientHashSearch:
73
- Exclude:
74
- - 'lib/checkoff/internal/asana_event_filter.rb'
75
-
76
- # Offense count: 1
77
- # This cop supports unsafe autocorrection (--autocorrect-all).
78
- # Configuration parameters: AllowRegexpMatch.
79
- Performance/RedundantEqualityComparisonBlock:
80
- Exclude:
81
- - 'lib/checkoff/internal/selector_classes/task.rb'
82
-
83
- # Offense count: 10
84
- # Configuration parameters: RequireForNonPublicMethods.
85
- Style/DocumentationMethod:
86
- Exclude:
87
- - 'spec/**/*'
88
- - 'test/**/*'
89
- - 'lib/checkoff/cli.rb'
90
- - 'lib/checkoff/tags.rb'
data/.solargraph.yml DELETED
@@ -1,35 +0,0 @@
1
- ---
2
- include:
3
- # process first
4
- - "config/annotations*.rb"
5
- - "**/*.rb"
6
- - "**/.*.rb"
7
- - "lib/tasks/*.rake"
8
- - ".git-hooks/**/*.rb"
9
- - "script/*"
10
- - "bin/*"
11
- - "bin/overcommit_branch"
12
- exclude:
13
- - script/.rubocop.yml
14
- - vendor/**/*
15
- - spec/**/*
16
- - feature/**/*
17
- - test/**/*
18
- - ".bundle/**/*"
19
- - ".markdownlint_style.rb"
20
- require: []
21
- domains: []
22
- reporters:
23
- - rubocop
24
- - require_not_found
25
- - typecheck:strong
26
- - update_errors
27
- formatter:
28
- rubocop:
29
- cops: safe
30
- except: []
31
- only: []
32
- extra_args: []
33
- require_paths: []
34
- plugins: []
35
- max_files: 5000
data/.yamllint.yml DELETED
@@ -1,8 +0,0 @@
1
- ---
2
- # https://yamllint.readthedocs.io/en/stable/configuration.html
3
- extends: default
4
-
5
- rules:
6
- comments: disable
7
- line-length:
8
- max: 120
data/.yardopts DELETED
@@ -1,2 +0,0 @@
1
- config/**/*.rb
2
- lib/**/*.rb
data/CODE_OF_CONDUCT.md DELETED
@@ -1,133 +0,0 @@
1
-
2
- # Contributor Covenant Code of Conduct
3
-
4
- ## Our Pledge
5
-
6
- We as members, contributors, and leaders pledge to make participation in our
7
- community a harassment-free experience for everyone, regardless of age, body
8
- size, visible or invisible disability, ethnicity, sex characteristics, gender
9
- identity and expression, level of experience, education, socio-economic status,
10
- nationality, personal appearance, race, caste, color, religion, or sexual identity
11
- and orientation.
12
-
13
- We pledge to act and interact in ways that contribute to an open, welcoming,
14
- diverse, inclusive, and healthy community.
15
-
16
- ## Our Standards
17
-
18
- Examples of behavior that contributes to a positive environment for our
19
- community include:
20
-
21
- * Demonstrating empathy and kindness toward other people
22
- * Being respectful of differing opinions, viewpoints, and experiences
23
- * Giving and gracefully accepting constructive feedback
24
- * Accepting responsibility and apologizing to those affected by our mistakes,
25
- and learning from the experience
26
- * Focusing on what is best not just for us as individuals, but for the
27
- overall community
28
-
29
- Examples of unacceptable behavior include:
30
-
31
- * The use of sexualized language or imagery, and sexual attention or
32
- advances of any kind
33
- * Trolling, insulting or derogatory comments, and personal or political attacks
34
- * Public or private harassment
35
- * Publishing others' private information, such as a physical or email
36
- address, without their explicit permission
37
- * Other conduct which could reasonably be considered inappropriate in a
38
- professional setting
39
-
40
- ## Enforcement Responsibilities
41
-
42
- Community leaders are responsible for clarifying and enforcing our standards of
43
- acceptable behavior and will take appropriate and fair corrective action in
44
- response to any behavior that they deem inappropriate, threatening, offensive,
45
- or harmful.
46
-
47
- Community leaders have the right and responsibility to remove, edit, or reject
48
- comments, commits, code, wiki edits, issues, and other contributions that are
49
- not aligned to this Code of Conduct, and will communicate reasons for moderation
50
- decisions when appropriate.
51
-
52
- ## Scope
53
-
54
- This Code of Conduct applies within all community spaces, and also applies when
55
- an individual is officially representing the community in public spaces.
56
- Examples of representing our community include using an official e-mail address,
57
- posting via an official social media account, or acting as an appointed
58
- representative at an online or offline event.
59
-
60
- ## Enforcement
61
-
62
- Instances of abusive, harassing, or otherwise unacceptable behavior may be
63
- reported to the community leaders responsible for enforcement at
64
- [INSERT CONTACT METHOD].
65
- All complaints will be reviewed and investigated promptly and fairly.
66
-
67
- All community leaders are obligated to respect the privacy and security of the
68
- reporter of any incident.
69
-
70
- ## Enforcement Guidelines
71
-
72
- Community leaders will follow these Community Impact Guidelines in determining
73
- the consequences for any action they deem in violation of this Code of Conduct:
74
-
75
- ### 1. Correction
76
-
77
- **Community Impact**: Use of inappropriate language or other behavior deemed
78
- unprofessional or unwelcome in the community.
79
-
80
- **Consequence**: A private, written warning from community leaders, providing
81
- clarity around the nature of the violation and an explanation of why the
82
- behavior was inappropriate. A public apology may be requested.
83
-
84
- ### 2. Warning
85
-
86
- **Community Impact**: A violation through a single incident or series
87
- of actions.
88
-
89
- **Consequence**: A warning with consequences for continued behavior. No
90
- interaction with the people involved, including unsolicited interaction with
91
- those enforcing the Code of Conduct, for a specified period of time. This
92
- includes avoiding interactions in community spaces as well as external channels
93
- like social media. Violating these terms may lead to a temporary or
94
- permanent ban.
95
-
96
- ### 3. Temporary Ban
97
-
98
- **Community Impact**: A serious violation of community standards, including
99
- sustained inappropriate behavior.
100
-
101
- **Consequence**: A temporary ban from any sort of interaction or public
102
- communication with the community for a specified period of time. No public or
103
- private interaction with the people involved, including unsolicited interaction
104
- with those enforcing the Code of Conduct, is allowed during this period.
105
- Violating these terms may lead to a permanent ban.
106
-
107
- ### 4. Permanent Ban
108
-
109
- **Community Impact**: Demonstrating a pattern of violation of community
110
- standards, including sustained inappropriate behavior, harassment of an
111
- individual, or aggression toward or disparagement of classes of individuals.
112
-
113
- **Consequence**: A permanent ban from any sort of public interaction within
114
- the community.
115
-
116
- ## Attribution
117
-
118
- This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119
- version 2.0, available at
120
- [https://www.contributor-covenant.org/version/2/0/code_of_conduct.html][v2.0].
121
-
122
- Community Impact Guidelines were inspired by
123
- [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
124
-
125
- For answers to common questions about this code of conduct, see the FAQ at
126
- [https://www.contributor-covenant.org/faq][FAQ]. Translations are available
127
- at [https://www.contributor-covenant.org/translations][translations].
128
-
129
- [homepage]: https://www.contributor-covenant.org
130
- [v2.0]: https://www.contributor-covenant.org/version/2/0/code_of_conduct.html
131
- [Mozilla CoC]: https://github.com/mozilla/diversity
132
- [FAQ]: https://www.contributor-covenant.org/faq
133
- [translations]: https://www.contributor-covenant.org/translations