checkoff 0.222.0 → 0.225.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (260) hide show
  1. checksums.yaml +4 -4
  2. data/checkoff.gemspec +10 -5
  3. data/lib/checkoff/attachments.rb +1 -0
  4. data/lib/checkoff/cli.rb +1 -1
  5. data/lib/checkoff/clients.rb +2 -1
  6. data/lib/checkoff/custom_fields.rb +2 -1
  7. data/lib/checkoff/events.rb +2 -1
  8. data/lib/checkoff/internal/asana_event_enrichment.rb +1 -0
  9. data/lib/checkoff/internal/asana_event_filter.rb +1 -0
  10. data/lib/checkoff/internal/config_loader.rb +2 -2
  11. data/lib/checkoff/internal/logging.rb +6 -5
  12. data/lib/checkoff/internal/project_hashes.rb +1 -0
  13. data/lib/checkoff/internal/project_selector_evaluator.rb +2 -1
  14. data/lib/checkoff/internal/project_timing.rb +1 -0
  15. data/lib/checkoff/internal/search_url/custom_field_param_converter.rb +1 -0
  16. data/lib/checkoff/internal/search_url/custom_field_variant.rb +1 -0
  17. data/lib/checkoff/internal/search_url/date_param_converter.rb +1 -0
  18. data/lib/checkoff/internal/search_url/parser.rb +1 -0
  19. data/lib/checkoff/internal/search_url/results_merger.rb +1 -0
  20. data/lib/checkoff/internal/search_url/simple_param_converter.rb +1 -0
  21. data/lib/checkoff/internal/search_url.rb +1 -0
  22. data/lib/checkoff/internal/section_selector_evaluator.rb +2 -1
  23. data/lib/checkoff/internal/selector_classes/common/function_evaluator.rb +1 -0
  24. data/lib/checkoff/internal/selector_classes/common.rb +1 -0
  25. data/lib/checkoff/internal/selector_classes/function_evaluator.rb +1 -0
  26. data/lib/checkoff/internal/selector_classes/project/function_evaluator.rb +1 -0
  27. data/lib/checkoff/internal/selector_classes/project.rb +1 -0
  28. data/lib/checkoff/internal/selector_classes/section/function_evaluator.rb +3 -1
  29. data/lib/checkoff/internal/selector_classes/section.rb +1 -0
  30. data/lib/checkoff/internal/selector_classes/task/function_evaluator.rb +1 -0
  31. data/lib/checkoff/internal/selector_classes/task.rb +1 -0
  32. data/lib/checkoff/internal/selector_evaluator.rb +5 -4
  33. data/lib/checkoff/internal/task_hashes.rb +1 -0
  34. data/lib/checkoff/internal/task_selector_evaluator.rb +2 -1
  35. data/lib/checkoff/internal/task_timing.rb +1 -0
  36. data/lib/checkoff/internal/thread_local.rb +1 -0
  37. data/lib/checkoff/monkeypatches/resource_marshalling.rb +1 -0
  38. data/lib/checkoff/my_tasks.rb +2 -1
  39. data/lib/checkoff/portfolios.rb +12 -9
  40. data/lib/checkoff/project_selectors.rb +1 -0
  41. data/lib/checkoff/projects.rb +3 -1
  42. data/lib/checkoff/resources.rb +1 -0
  43. data/lib/checkoff/section_selectors.rb +1 -0
  44. data/lib/checkoff/sections.rb +4 -4
  45. data/lib/checkoff/subtasks.rb +1 -0
  46. data/lib/checkoff/tags.rb +67 -17
  47. data/lib/checkoff/task_searches.rb +1 -0
  48. data/lib/checkoff/task_selectors.rb +1 -0
  49. data/lib/checkoff/tasks.rb +2 -2
  50. data/lib/checkoff/timelines.rb +1 -0
  51. data/lib/checkoff/timing.rb +1 -0
  52. data/lib/checkoff/version.rb +2 -1
  53. data/lib/checkoff/workspaces.rb +2 -1
  54. data/lib/checkoff.rb +1 -0
  55. data/rbi/checkoff.rbi +4529 -0
  56. data/sig/checkoff.rbs +3749 -0
  57. metadata +4 -205
  58. data/.circleci/config.yml +0 -291
  59. data/.envrc +0 -9
  60. data/.git-hooks/pre_commit/circle_ci.rb +0 -25
  61. data/.git-hooks/pre_commit/punchlist.rb +0 -51
  62. data/.git-hooks/pre_commit/solargraph_typecheck.rb +0 -76
  63. data/.gitattributes +0 -6
  64. data/.gitignore +0 -61
  65. data/.markdownlint_style.rb +0 -3
  66. data/.mdlrc +0 -1
  67. data/.overcommit.yml +0 -114
  68. data/.rubocop.yml +0 -143
  69. data/.rubocop_todo.yml +0 -90
  70. data/.solargraph.yml +0 -35
  71. data/.yamllint.yml +0 -8
  72. data/CODE_OF_CONDUCT.md +0 -133
  73. data/CONTRIBUTING.rst +0 -75
  74. data/DEVELOPMENT.md +0 -69
  75. data/GLOSSARY.md +0 -16
  76. data/Gemfile +0 -66
  77. data/Gemfile.lock +0 -336
  78. data/LICENSE +0 -21
  79. data/Makefile +0 -121
  80. data/bin/brakeman +0 -27
  81. data/bin/bump +0 -29
  82. data/bin/checkoff +0 -29
  83. data/bin/console +0 -15
  84. data/bin/overcommit +0 -29
  85. data/bin/overcommit_branch +0 -114
  86. data/bin/rake +0 -29
  87. data/bin/rubocop +0 -27
  88. data/bin/setup +0 -8
  89. data/bin/solargraph +0 -27
  90. data/bin/sord +0 -27
  91. data/bin/spoom +0 -27
  92. data/bin/srb +0 -27
  93. data/bin/srb-rbi +0 -27
  94. data/bin/tapioca +0 -27
  95. data/bin/yard +0 -27
  96. data/config/annotations_asana.rb +0 -254
  97. data/config/annotations_misc.rb +0 -68
  98. data/config/env.1p +0 -2
  99. data/docs/.gitignore +0 -3
  100. data/docs/cookiecutter_input.json +0 -17
  101. data/docs/example_project.png +0 -0
  102. data/fix.sh +0 -534
  103. data/metrics/bigfiles_high_water_mark +0 -1
  104. data/metrics/brakeman_high_water_mark +0 -1
  105. data/metrics/bundle-audit_high_water_mark +0 -1
  106. data/metrics/cane_high_water_mark +0 -1
  107. data/metrics/eslint_high_water_mark +0 -1
  108. data/metrics/flake8_high_water_mark +0 -1
  109. data/metrics/flay_high_water_mark +0 -1
  110. data/metrics/flog_high_water_mark +0 -1
  111. data/metrics/jscs_high_water_mark +0 -1
  112. data/metrics/mdl_high_water_mark +0 -1
  113. data/metrics/pep8_high_water_mark +0 -1
  114. data/metrics/punchlist_high_water_mark +0 -1
  115. data/metrics/pycodestyle_high_water_mark +0 -1
  116. data/metrics/rails_best_practices_high_water_mark +0 -1
  117. data/metrics/rubocop_high_water_mark +0 -1
  118. data/metrics/scalastyle_high_water_mark +0 -1
  119. data/metrics/shellcheck_high_water_mark +0 -1
  120. data/package.json +0 -9
  121. data/rakelib/citest.rake +0 -4
  122. data/rakelib/clear_metrics.rake +0 -9
  123. data/rakelib/console.rake +0 -15
  124. data/rakelib/default.rake +0 -4
  125. data/rakelib/doc.rake +0 -6
  126. data/rakelib/gem_tasks.rake +0 -3
  127. data/rakelib/localtest.rake +0 -4
  128. data/rakelib/overcommit.rake +0 -6
  129. data/rakelib/quality.rake +0 -4
  130. data/rakelib/repl.rake +0 -4
  131. data/rakelib/test.rake +0 -10
  132. data/rakelib/trigger_next_builds.rake +0 -7
  133. data/rakelib/undercover.rake +0 -8
  134. data/requirements_dev.txt +0 -2
  135. data/sorbet/config +0 -4
  136. data/sorbet/rbi/annotations/.gitattributes +0 -1
  137. data/sorbet/rbi/annotations/activesupport.rbi +0 -453
  138. data/sorbet/rbi/annotations/faraday.rbi +0 -17
  139. data/sorbet/rbi/annotations/minitest.rbi +0 -119
  140. data/sorbet/rbi/annotations/mocha.rbi +0 -34
  141. data/sorbet/rbi/annotations/rainbow.rbi +0 -269
  142. data/sorbet/rbi/annotations/webmock.rbi +0 -9
  143. data/sorbet/rbi/dsl/.gitattributes +0 -1
  144. data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -23
  145. data/sorbet/rbi/gems/.gitattributes +0 -1
  146. data/sorbet/rbi/gems/activesupport@7.1.5.rbi +0 -18746
  147. data/sorbet/rbi/gems/addressable@2.8.6.rbi +0 -1994
  148. data/sorbet/rbi/gems/ansi@1.5.0.rbi +0 -688
  149. data/sorbet/rbi/gems/asana@0.10.6-ab9393136d9ca59b75e42a661fdddc1c65c8f7c3.rbi +0 -6142
  150. data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -585
  151. data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -523
  152. data/sorbet/rbi/gems/base64@0.2.0.rbi +0 -509
  153. data/sorbet/rbi/gems/benchmark@0.4.0.rbi +0 -618
  154. data/sorbet/rbi/gems/bigdecimal@3.1.5.rbi +0 -78
  155. data/sorbet/rbi/gems/brakeman@6.2.2.rbi +0 -222
  156. data/sorbet/rbi/gems/builder@3.2.4.rbi +0 -505
  157. data/sorbet/rbi/gems/bump@0.10.0.rbi +0 -169
  158. data/sorbet/rbi/gems/cache@0.4.1.rbi +0 -211
  159. data/sorbet/rbi/gems/cache_method@0.2.7.rbi +0 -293
  160. data/sorbet/rbi/gems/chef-utils@18.3.0.rbi +0 -9
  161. data/sorbet/rbi/gems/childprocess@5.1.0.rbi +0 -383
  162. data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -3427
  163. data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +0 -11591
  164. data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +0 -9
  165. data/sorbet/rbi/gems/crack@0.4.5.rbi +0 -145
  166. data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +0 -969
  167. data/sorbet/rbi/gems/docile@1.4.0.rbi +0 -377
  168. data/sorbet/rbi/gems/drb@2.2.1.rbi +0 -1347
  169. data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -9
  170. data/sorbet/rbi/gems/erubi@1.13.0.rbi +0 -152
  171. data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +0 -222
  172. data/sorbet/rbi/gems/faraday-em_synchrony@1.0.0.rbi +0 -126
  173. data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +0 -136
  174. data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +0 -145
  175. data/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi +0 -259
  176. data/sorbet/rbi/gems/faraday-net_http@1.0.1.rbi +0 -142
  177. data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +0 -118
  178. data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +0 -125
  179. data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +0 -133
  180. data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +0 -198
  181. data/sorbet/rbi/gems/faraday@1.10.3.rbi +0 -2729
  182. data/sorbet/rbi/gems/faraday_middleware-multi_json@0.0.6.rbi +0 -29
  183. data/sorbet/rbi/gems/faraday_middleware@1.2.0.rbi +0 -1004
  184. data/sorbet/rbi/gems/gli@2.22.0.rbi +0 -9
  185. data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +0 -351
  186. data/sorbet/rbi/gems/i18n@1.14.6.rbi +0 -2359
  187. data/sorbet/rbi/gems/imagen@0.1.8.rbi +0 -340
  188. data/sorbet/rbi/gems/iniparse@1.5.0.rbi +0 -899
  189. data/sorbet/rbi/gems/jaro_winkler@1.6.0.rbi +0 -22
  190. data/sorbet/rbi/gems/json@2.7.1.rbi +0 -1562
  191. data/sorbet/rbi/gems/jwt@2.7.1.rbi +0 -1405
  192. data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -128
  193. data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3272
  194. data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14238
  195. data/sorbet/rbi/gems/logger@1.6.2.rbi +0 -923
  196. data/sorbet/rbi/gems/mdl@0.13.0.rbi +0 -445
  197. data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -273
  198. data/sorbet/rbi/gems/mime-types-data@3.2023.1205.rbi +0 -127
  199. data/sorbet/rbi/gems/mime-types@3.5.1.rbi +0 -1252
  200. data/sorbet/rbi/gems/minitest-profile@0.0.2.rbi +0 -136
  201. data/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi +0 -1014
  202. data/sorbet/rbi/gems/minitest@5.21.1.rbi +0 -1539
  203. data/sorbet/rbi/gems/mixlib-cli@2.1.8.rbi +0 -314
  204. data/sorbet/rbi/gems/mixlib-config@3.0.27.rbi +0 -581
  205. data/sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi +0 -629
  206. data/sorbet/rbi/gems/mocha@2.1.0.rbi +0 -12
  207. data/sorbet/rbi/gems/multi_json@1.15.0.rbi +0 -268
  208. data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +0 -102
  209. data/sorbet/rbi/gems/multipart-post@2.3.0.rbi +0 -234
  210. data/sorbet/rbi/gems/mutex_m@0.3.0.rbi +0 -97
  211. data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -159
  212. data/sorbet/rbi/gems/nokogiri@1.17.0.rbi +0 -8201
  213. data/sorbet/rbi/gems/oauth2@1.4.11.rbi +0 -833
  214. data/sorbet/rbi/gems/overcommit@0.64.1.rbi +0 -2400
  215. data/sorbet/rbi/gems/parallel@1.23.0.rbi +0 -274
  216. data/sorbet/rbi/gems/parser@3.2.2.4.rbi +0 -7253
  217. data/sorbet/rbi/gems/prism@1.2.0.rbi +0 -39085
  218. data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -10070
  219. data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +0 -936
  220. data/sorbet/rbi/gems/punchlist@1.3.2.rbi +0 -173
  221. data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -162
  222. data/sorbet/rbi/gems/rack@3.1.8.rbi +0 -4896
  223. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -403
  224. data/sorbet/rbi/gems/rake@13.1.0.rbi +0 -3022
  225. data/sorbet/rbi/gems/rbi@0.2.1.rbi +0 -4535
  226. data/sorbet/rbi/gems/rbs@2.8.4.rbi +0 -5613
  227. data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +0 -3750
  228. data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -390
  229. data/sorbet/rbi/gems/rexml@3.3.9.rbi +0 -4964
  230. data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +0 -7061
  231. data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +0 -2577
  232. data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +0 -3262
  233. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -329
  234. data/sorbet/rbi/gems/rubocop-rspec@3.0.0.rbi +0 -7546
  235. data/sorbet/rbi/gems/rubocop@1.59.0.rbi +0 -57238
  236. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1318
  237. data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +0 -9
  238. data/sorbet/rbi/gems/rugged@1.6.3.rbi +0 -1577
  239. data/sorbet/rbi/gems/securerandom@0.4.0.rbi +0 -75
  240. data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -217
  241. data/sorbet/rbi/gems/simplecov-lcov@0.8.0.rbi +0 -256
  242. data/sorbet/rbi/gems/simplecov@0.22.0.rbi +0 -2149
  243. data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +0 -9
  244. data/sorbet/rbi/gems/solargraph-rails@1.1.0-9dc37915bd4f3b169046e34db6fb32193ab347d8.rbi +0 -320
  245. data/sorbet/rbi/gems/solargraph@0.50.1-904b9304770a59fac393c5cc3cad481e5bdf0fd8.rbi +0 -9396
  246. data/sorbet/rbi/gems/source_finder@3.2.1.rbi +0 -317
  247. data/sorbet/rbi/gems/spoom@1.5.0.rbi +0 -4932
  248. data/sorbet/rbi/gems/tapioca@0.16.5.rbi +0 -3617
  249. data/sorbet/rbi/gems/thor@1.3.2.rbi +0 -4378
  250. data/sorbet/rbi/gems/tilt@2.4.0.rbi +0 -933
  251. data/sorbet/rbi/gems/tomlrb@2.0.3.rbi +0 -9
  252. data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +0 -5918
  253. data/sorbet/rbi/gems/undercover@0.5.0.rbi +0 -433
  254. data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -66
  255. data/sorbet/rbi/gems/webmock@3.19.1.rbi +0 -1769
  256. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
  257. data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18406
  258. data/sorbet/rbi/todo.rbi +0 -11
  259. data/sorbet/tapioca/config.yml +0 -13
  260. data/sorbet/tapioca/require.rb +0 -4
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.222.0
4
+ version: 0.225.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: 2024-12-12 00:00:00.000000000 Z
11
+ date: 2025-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -102,55 +102,10 @@ executables:
102
102
  extensions: []
103
103
  extra_rdoc_files: []
104
104
  files:
105
- - ".circleci/config.yml"
106
- - ".envrc"
107
- - ".git-hooks/pre_commit/circle_ci.rb"
108
- - ".git-hooks/pre_commit/punchlist.rb"
109
- - ".git-hooks/pre_commit/solargraph_typecheck.rb"
110
- - ".gitattributes"
111
- - ".gitignore"
112
- - ".markdownlint_style.rb"
113
- - ".mdlrc"
114
- - ".overcommit.yml"
115
- - ".rubocop.yml"
116
- - ".rubocop_todo.yml"
117
- - ".solargraph.yml"
118
- - ".yamllint.yml"
119
- - CODE_OF_CONDUCT.md
120
- - CONTRIBUTING.rst
121
- - DEVELOPMENT.md
122
- - GLOSSARY.md
123
- - Gemfile
124
- - Gemfile.lock
125
- - LICENSE
126
- - Makefile
127
105
  - README.md
128
106
  - Rakefile
129
- - bin/brakeman
130
- - bin/bump
131
- - bin/checkoff
132
- - bin/console
133
- - bin/overcommit
134
- - bin/overcommit_branch
135
- - bin/rake
136
- - bin/rubocop
137
- - bin/setup
138
- - bin/solargraph
139
- - bin/sord
140
- - bin/spoom
141
- - bin/srb
142
- - bin/srb-rbi
143
- - bin/tapioca
144
- - bin/yard
145
107
  - checkoff.gemspec
146
- - config/annotations_asana.rb
147
- - config/annotations_misc.rb
148
- - config/env.1p
149
- - docs/.gitignore
150
- - docs/cookiecutter_input.json
151
- - docs/example_project.png
152
108
  - exe/checkoff
153
- - fix.sh
154
109
  - lib/checkoff.rb
155
110
  - lib/checkoff/attachments.rb
156
111
  - lib/checkoff/cli.rb
@@ -205,164 +160,8 @@ files:
205
160
  - lib/checkoff/timing.rb
206
161
  - lib/checkoff/version.rb
207
162
  - lib/checkoff/workspaces.rb
208
- - metrics/bigfiles_high_water_mark
209
- - metrics/brakeman_high_water_mark
210
- - metrics/bundle-audit_high_water_mark
211
- - metrics/cane_high_water_mark
212
- - metrics/eslint_high_water_mark
213
- - metrics/flake8_high_water_mark
214
- - metrics/flay_high_water_mark
215
- - metrics/flog_high_water_mark
216
- - metrics/jscs_high_water_mark
217
- - metrics/mdl_high_water_mark
218
- - metrics/pep8_high_water_mark
219
- - metrics/punchlist_high_water_mark
220
- - metrics/pycodestyle_high_water_mark
221
- - metrics/rails_best_practices_high_water_mark
222
- - metrics/rubocop_high_water_mark
223
- - metrics/scalastyle_high_water_mark
224
- - metrics/shellcheck_high_water_mark
225
- - package.json
226
- - rakelib/citest.rake
227
- - rakelib/clear_metrics.rake
228
- - rakelib/console.rake
229
- - rakelib/default.rake
230
- - rakelib/doc.rake
231
- - rakelib/gem_tasks.rake
232
- - rakelib/localtest.rake
233
- - rakelib/overcommit.rake
234
- - rakelib/quality.rake
235
- - rakelib/repl.rake
236
- - rakelib/test.rake
237
- - rakelib/trigger_next_builds.rake
238
- - rakelib/undercover.rake
239
- - requirements_dev.txt
240
- - sorbet/config
241
- - sorbet/rbi/annotations/.gitattributes
242
- - sorbet/rbi/annotations/activesupport.rbi
243
- - sorbet/rbi/annotations/faraday.rbi
244
- - sorbet/rbi/annotations/minitest.rbi
245
- - sorbet/rbi/annotations/mocha.rbi
246
- - sorbet/rbi/annotations/rainbow.rbi
247
- - sorbet/rbi/annotations/webmock.rbi
248
- - sorbet/rbi/dsl/.gitattributes
249
- - sorbet/rbi/dsl/active_support/callbacks.rbi
250
- - sorbet/rbi/gems/.gitattributes
251
- - sorbet/rbi/gems/activesupport@7.1.5.rbi
252
- - sorbet/rbi/gems/addressable@2.8.6.rbi
253
- - sorbet/rbi/gems/ansi@1.5.0.rbi
254
- - sorbet/rbi/gems/asana@0.10.6-ab9393136d9ca59b75e42a661fdddc1c65c8f7c3.rbi
255
- - sorbet/rbi/gems/ast@2.4.2.rbi
256
- - sorbet/rbi/gems/backport@1.2.0.rbi
257
- - sorbet/rbi/gems/base64@0.2.0.rbi
258
- - sorbet/rbi/gems/benchmark@0.4.0.rbi
259
- - sorbet/rbi/gems/bigdecimal@3.1.5.rbi
260
- - sorbet/rbi/gems/brakeman@6.2.2.rbi
261
- - sorbet/rbi/gems/builder@3.2.4.rbi
262
- - sorbet/rbi/gems/bump@0.10.0.rbi
263
- - sorbet/rbi/gems/cache@0.4.1.rbi
264
- - sorbet/rbi/gems/cache_method@0.2.7.rbi
265
- - sorbet/rbi/gems/chef-utils@18.3.0.rbi
266
- - sorbet/rbi/gems/childprocess@5.1.0.rbi
267
- - sorbet/rbi/gems/coderay@1.1.3.rbi
268
- - sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi
269
- - sorbet/rbi/gems/connection_pool@2.4.1.rbi
270
- - sorbet/rbi/gems/crack@0.4.5.rbi
271
- - sorbet/rbi/gems/diff-lcs@1.5.1.rbi
272
- - sorbet/rbi/gems/docile@1.4.0.rbi
273
- - sorbet/rbi/gems/drb@2.2.1.rbi
274
- - sorbet/rbi/gems/e2mmap@0.1.0.rbi
275
- - sorbet/rbi/gems/erubi@1.13.0.rbi
276
- - sorbet/rbi/gems/faraday-em_http@1.0.0.rbi
277
- - sorbet/rbi/gems/faraday-em_synchrony@1.0.0.rbi
278
- - sorbet/rbi/gems/faraday-excon@1.1.0.rbi
279
- - sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi
280
- - sorbet/rbi/gems/faraday-multipart@1.0.4.rbi
281
- - sorbet/rbi/gems/faraday-net_http@1.0.1.rbi
282
- - sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi
283
- - sorbet/rbi/gems/faraday-patron@1.0.0.rbi
284
- - sorbet/rbi/gems/faraday-rack@1.0.0.rbi
285
- - sorbet/rbi/gems/faraday-retry@1.0.3.rbi
286
- - sorbet/rbi/gems/faraday@1.10.3.rbi
287
- - sorbet/rbi/gems/faraday_middleware-multi_json@0.0.6.rbi
288
- - sorbet/rbi/gems/faraday_middleware@1.2.0.rbi
289
- - sorbet/rbi/gems/gli@2.22.0.rbi
290
- - sorbet/rbi/gems/hashdiff@1.0.1.rbi
291
- - sorbet/rbi/gems/i18n@1.14.6.rbi
292
- - sorbet/rbi/gems/imagen@0.1.8.rbi
293
- - sorbet/rbi/gems/iniparse@1.5.0.rbi
294
- - sorbet/rbi/gems/jaro_winkler@1.6.0.rbi
295
- - sorbet/rbi/gems/json@2.7.1.rbi
296
- - sorbet/rbi/gems/jwt@2.7.1.rbi
297
- - sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi
298
- - sorbet/rbi/gems/kramdown@2.4.0.rbi
299
- - sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi
300
- - sorbet/rbi/gems/logger@1.6.2.rbi
301
- - sorbet/rbi/gems/mdl@0.13.0.rbi
302
- - sorbet/rbi/gems/method_source@1.0.0.rbi
303
- - sorbet/rbi/gems/mime-types-data@3.2023.1205.rbi
304
- - sorbet/rbi/gems/mime-types@3.5.1.rbi
305
- - sorbet/rbi/gems/minitest-profile@0.0.2.rbi
306
- - sorbet/rbi/gems/minitest-reporters@1.6.1.rbi
307
- - sorbet/rbi/gems/minitest@5.21.1.rbi
308
- - sorbet/rbi/gems/mixlib-cli@2.1.8.rbi
309
- - sorbet/rbi/gems/mixlib-config@3.0.27.rbi
310
- - sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi
311
- - sorbet/rbi/gems/mocha@2.1.0.rbi
312
- - sorbet/rbi/gems/multi_json@1.15.0.rbi
313
- - sorbet/rbi/gems/multi_xml@0.6.0.rbi
314
- - sorbet/rbi/gems/multipart-post@2.3.0.rbi
315
- - sorbet/rbi/gems/mutex_m@0.3.0.rbi
316
- - sorbet/rbi/gems/netrc@0.11.0.rbi
317
- - sorbet/rbi/gems/nokogiri@1.17.0.rbi
318
- - sorbet/rbi/gems/oauth2@1.4.11.rbi
319
- - sorbet/rbi/gems/overcommit@0.64.1.rbi
320
- - sorbet/rbi/gems/parallel@1.23.0.rbi
321
- - sorbet/rbi/gems/parser@3.2.2.4.rbi
322
- - sorbet/rbi/gems/prism@1.2.0.rbi
323
- - sorbet/rbi/gems/pry@0.14.2.rbi
324
- - sorbet/rbi/gems/public_suffix@5.0.4.rbi
325
- - sorbet/rbi/gems/punchlist@1.3.2.rbi
326
- - sorbet/rbi/gems/racc@1.8.1.rbi
327
- - sorbet/rbi/gems/rack@3.1.8.rbi
328
- - sorbet/rbi/gems/rainbow@3.1.1.rbi
329
- - sorbet/rbi/gems/rake@13.1.0.rbi
330
- - sorbet/rbi/gems/rbi@0.2.1.rbi
331
- - sorbet/rbi/gems/rbs@2.8.4.rbi
332
- - sorbet/rbi/gems/regexp_parser@2.8.3.rbi
333
- - sorbet/rbi/gems/reverse_markdown@2.1.1.rbi
334
- - sorbet/rbi/gems/rexml@3.3.9.rbi
335
- - sorbet/rbi/gems/rubocop-ast@1.30.0.rbi
336
- - sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi
337
- - sorbet/rbi/gems/rubocop-performance@1.20.2.rbi
338
- - sorbet/rbi/gems/rubocop-rake@0.6.0.rbi
339
- - sorbet/rbi/gems/rubocop-rspec@3.0.0.rbi
340
- - sorbet/rbi/gems/rubocop@1.59.0.rbi
341
- - sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi
342
- - sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi
343
- - sorbet/rbi/gems/rugged@1.6.3.rbi
344
- - sorbet/rbi/gems/securerandom@0.4.0.rbi
345
- - sorbet/rbi/gems/simplecov-html@0.12.3.rbi
346
- - sorbet/rbi/gems/simplecov-lcov@0.8.0.rbi
347
- - sorbet/rbi/gems/simplecov@0.22.0.rbi
348
- - sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi
349
- - sorbet/rbi/gems/solargraph-rails@1.1.0-9dc37915bd4f3b169046e34db6fb32193ab347d8.rbi
350
- - sorbet/rbi/gems/solargraph@0.50.1-904b9304770a59fac393c5cc3cad481e5bdf0fd8.rbi
351
- - sorbet/rbi/gems/source_finder@3.2.1.rbi
352
- - sorbet/rbi/gems/spoom@1.5.0.rbi
353
- - sorbet/rbi/gems/tapioca@0.16.5.rbi
354
- - sorbet/rbi/gems/thor@1.3.2.rbi
355
- - sorbet/rbi/gems/tilt@2.4.0.rbi
356
- - sorbet/rbi/gems/tomlrb@2.0.3.rbi
357
- - sorbet/rbi/gems/tzinfo@2.0.6.rbi
358
- - sorbet/rbi/gems/undercover@0.5.0.rbi
359
- - sorbet/rbi/gems/unicode-display_width@2.5.0.rbi
360
- - sorbet/rbi/gems/webmock@3.19.1.rbi
361
- - sorbet/rbi/gems/yard-sorbet@0.9.0.rbi
362
- - sorbet/rbi/gems/yard@0.9.37.rbi
363
- - sorbet/rbi/todo.rbi
364
- - sorbet/tapioca/config.yml
365
- - sorbet/tapioca/require.rb
163
+ - rbi/checkoff.rbi
164
+ - sig/checkoff.rbs
366
165
  homepage: https://github.com/apiology/checkoff
367
166
  licenses:
368
167
  - MIT license
data/.circleci/config.yml DELETED
@@ -1,291 +0,0 @@
1
- ---
2
- version: 2.1
3
-
4
- commands:
5
- run_with_languages:
6
- description: "Run the given command in an environment that includes relevant langauges in the PATH"
7
- parameters:
8
- command:
9
- type: string
10
- description: "What command to execute"
11
- label:
12
- type: string
13
- description: "What to label the run"
14
- default: <<parameters.command>>
15
- steps:
16
- - run:
17
- name: <<parameters.label>>
18
- command: |
19
- export PATH="${HOME}/.pyenv/bin:${PATH}"
20
- export PATH="${HOME}/.rbenv/bin:${HOME}/.rbenv/shims:${PATH}"
21
- export PATH="${HOME}/project/node_modules/.bin:${PATH}"
22
- eval "$(pyenv init --path)"
23
- eval "$(pyenv virtualenv-init -)"
24
- eval "$(rbenv init -)"
25
-
26
- # keep this in a single place for both main and child builds for cachability
27
- BUNDLE_PATH="$(pwd)/vendor/bundle"
28
- export BUNDLE_PATH
29
- GEM_HOME="${BUNDLE_PATH}"
30
- export GEM_HOME
31
-
32
- <<parameters.command>>
33
- environment:
34
- # https://app.circleci.com/pipelines/github/apiology/cookiecutter-pypackage/4/workflows/29074dc8-944c-4600-8aaa-5116575fed90/jobs/4
35
- "LC_ALL": "C.UTF-8"
36
- "LANG": "C.UTF-8"
37
- set_up_environment:
38
- description: "Install source environment"
39
- steps:
40
- - checkout
41
- - run:
42
- name: Update timestamps to original commit time
43
- command: |
44
- git ls-tree -r --name-only HEAD | while read filename; do \
45
- unixtime=$(git log -1 --format="%at" -- "${filename}")
46
- touchtime=$(date -d @$unixtime +'%Y%m%d%H%M.%S')
47
- touch -t ${touchtime} "${filename}"
48
- done
49
- - restore_cache:
50
- keys:
51
- - rbenv-v5-{{ checksum "Gemfile.lock" }}-
52
- - rbenv-v5-
53
- - restore_cache:
54
- keys:
55
- - pyenv-v2-{{ checksum "requirements_dev.txt" }}-
56
- - pyenv-v2-
57
- - pyenv-
58
- - run:
59
- name: Initialize packages
60
- command: |
61
- # measuring slows down the script - only enable when you
62
- # want to debug where this is spending time
63
-
64
- # export FIX_SH_TIMING_LOG=/tmp/fix_sh_timing.log
65
-
66
- BUNDLE_PATH="$(pwd)/vendor/bundle"
67
- export BUNDLE_PATH
68
- GEM_HOME="${BUNDLE_PATH}"
69
- export GEM_HOME
70
-
71
- './fix.sh'
72
- - store_artifacts:
73
- path: /tmp/fix_sh_timing.log
74
- - run:
75
- name: Verify Gemfile.lock
76
- command: |
77
- if ! git diff --exit-code Gemfile.lock
78
- then
79
- >&2 echo "Please resolve changes to Gemfile.lock after bundle install to avoid caching difficulties"
80
- exit 1
81
- fi
82
- - save_cache:
83
- key: pyenv-v2-{{ checksum "requirements_dev.txt" }}-{{ checksum ".python-version" }}
84
- paths:
85
- - "requirements_dev.txt.installed"
86
- - "/home/circleci/.cache/pip/wheels"
87
- - "/home/circleci/.pyenv"
88
- - run:
89
- name: Download new circleci tool
90
- command: |
91
- curl -fLSs \
92
- https://raw.githubusercontent.com/CircleCI-Public/circleci-cli/master/install.sh | sudo bash
93
- quality:
94
- description: "Quality checks"
95
- steps:
96
- - set_up_environment
97
- - run_with_languages:
98
- label: Run overcommit
99
- command: |
100
- # Coax overcommit into working
101
- git config --global user.email "test@test.test"
102
- git config --global user.name "Test Test"
103
- bundle exec overcommit --sign
104
- bundle exec overcommit --sign pre-commit
105
-
106
- if [ $(git rev-parse --abbrev-ref HEAD) == "main" ]
107
- then
108
- bundle exec overcommit --run
109
- else
110
- bundle exec bin/overcommit_branch
111
- fi
112
- - run_with_languages:
113
- label: Run brakeman
114
- command: |
115
- bundle exec brakeman --no-pager --force
116
- - run_with_languages:
117
- label: Run Rubocop
118
- command: |
119
- bundle exec rubocop
120
- - run_with_languages:
121
- label: Ratchet rubocop quality
122
- command: |
123
- set -x
124
- bundle exec rubocop --regenerate-todo --no-exclude-limit --auto-gen-only-exclude --no-auto-gen-timestamp
125
- if [ -f .rubocop_todo.yml ]
126
- then
127
- git diff --exit-code .rubocop.yml
128
- git diff --exit-code .rubocop_todo.yml
129
- fi
130
- update_dependencies:
131
- description: "Update dependencies whose build may have triggered this build"
132
- parameters:
133
- gems:
134
- type: string
135
- description: "Space-separated list of gems to update"
136
- steps:
137
- - run_with_languages:
138
- label: Update dependencies
139
- command: |
140
- set -x
141
- for package in <<parameters.gems>>
142
- do
143
- REMOTE_VERSION=$(gem search "${package}" | \
144
- grep "${package}" | cut -d\( -f2 | cut -d\) -f1)
145
- BUNDLED_VERSION=$(bundle info "${package}" | \
146
- head -1 | cut -d\( -f2 | cut -d\) -f1)
147
- if [ ${REMOTE_VERSION:?} == ${BUNDLED_VERSION:?} ]
148
- then
149
- continue
150
- fi
151
-
152
- bundle update --conservative "${package}"
153
-
154
- BUNDLED_VERSION=$(bundle info "${package}" | \
155
- head -1 | cut -d\( -f2 | cut -d\) -f1)
156
-
157
- if [ ${REMOTE_VERSION:?} == ${BUNDLED_VERSION:?} ]
158
- then
159
- continue
160
- fi
161
-
162
- echo "Waiting for ${package} v${REMOTE_VERSION} to be"\
163
- "available..."
164
- sleep 20
165
- bundle update "${package}"
166
-
167
- BUNDLED_VERSION=$(bundle info "${package}" | \
168
- head -1 | cut -d\( -f2 | cut -d\) -f1)
169
-
170
-
171
- if [ ${REMOTE_VERSION:?} != ${BUNDLED_VERSION:?} ]
172
- then
173
- >&2 echo "Manually upgrade to ${package}"\
174
- "v${REMOTE_VERSION}"
175
- exit 1
176
- fi
177
- done
178
- if [ -z "$(git status --porcelain Gemfile.lock)" ]
179
- then
180
- echo "No updates needed"
181
- exit 0
182
- fi
183
- # Push any dependency gem updates
184
- git config user.email 'vince@broz.cc'
185
- git config user.name 'Vince Broz'
186
- git status
187
- # bundle exec so that overcommit is used from Gemfile for
188
- # git hooks
189
- #
190
- # https://app.circleci.com/pipelines/github/apiology/"${package}"-rails/806/workflows/40fdf1ef-fa23-421b-a0f1-641ea0ed1641/jobs/1173
191
- #
192
- bundle exec overcommit --sign pre-commit
193
- bundle exec git commit -m "Bump dependency releases" Gemfile.lock || true
194
- OVERCOMMIT_DEBUG=1 bundle exec git push --set-upstream origin "${CIRCLE_BRANCH:?}"
195
- echo "Avoiding double build after git push"
196
- exit 1
197
- jobs:
198
- quality:
199
- working_directory: ~/checkoff
200
- docker:
201
- - image: cimg/base:current
202
- steps:
203
- - quality
204
- build:
205
- working_directory: ~/checkoff
206
- docker:
207
- - image: cimg/base:current
208
- steps:
209
- - set_up_environment
210
- - when:
211
- condition:
212
- equal: [<< pipeline.git.branch >>, "main"]
213
- steps:
214
- - update_dependencies:
215
- gems: checkoff
216
- # - run_with_languages:
217
- # label: Typecheck
218
- # command: make citypecheck citypecoverage
219
- - save_cache:
220
- key: rbenv-v5-{{ checksum "Gemfile.lock" }}-{{ checksum ".ruby-version" }}
221
- paths:
222
- - "Gemfile.lock.installed"
223
- - "types.installed"
224
- - "vendor/bundle"
225
- - "/home/circleci/.rbenv"
226
- - ".yardoc"
227
- - "/home/circleci/.cache/solargraph"
228
- - run_with_languages:
229
- label: Test
230
- command: |
231
- make citest cicoverage
232
- # This seemed to shave 5ish% of the build time off when added
233
- resource_class: large
234
- publish_gem:
235
- working_directory: ~/checkoff
236
- docker:
237
- - image: cimg/base:current
238
- steps:
239
- - set_up_environment
240
- - run_with_languages:
241
- label: Make RubyGems release
242
- command: |
243
- set -x
244
-
245
- # Coax overcommit into working
246
- git config --global user.email "test@test.test"
247
- git config --global user.name "Test Test"
248
- # bump runs 'bundle' after excluding env vars, but doesn't
249
- # use --conservative or exclude env vars when running 'git
250
- # commit', which might need an updated gem. This results
251
- # in periodic unexpected failures, fixed by later caching
252
- # :(
253
- #
254
- # Let's just use the system bundle path here
255
- unset BUNDLE_PATH
256
- bundle install
257
- bundle exec bump --commit-message ' [skip ci]' --tag --tag-prefix=v minor
258
- # bundle exec needed for overcommit hooks
259
- #
260
- # if this step fails, check that
261
- # https://app.circleci.com/settings/project/github/apiology/checkoff/ssh
262
- # includes a read-write 'user key':
263
- bundle exec git push --set-upstream origin "${CIRCLE_BRANCH:?}"
264
- git status
265
- bundle exec rake release trigger_next_builds
266
-
267
- workflows:
268
- version: 2
269
- weekly:
270
- triggers:
271
- - schedule:
272
- cron: "0 0 * * 6"
273
- filters:
274
- branches:
275
- only:
276
- - main
277
- jobs:
278
- - build
279
- - quality
280
- quality:
281
- jobs:
282
- - quality
283
- build:
284
- jobs:
285
- - build
286
- - publish_gem:
287
- requires:
288
- - build
289
- filters:
290
- branches:
291
- only: main
data/.envrc DELETED
@@ -1,9 +0,0 @@
1
- # shellcheck shell=bash
2
- PATH_add bin
3
-
4
- direnv_load op run --cache --env-file=config/env.1p -- direnv dump
5
-
6
- BUNDLE_PATH="$(pwd)/vendor/bundle"
7
- export BUNDLE_PATH
8
- GEM_HOME="${BUNDLE_PATH}"
9
- export GEM_HOME
@@ -1,25 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'overcommit'
4
- require 'overcommit/hook/pre_commit/base'
5
-
6
- module Overcommit
7
- module Hook
8
- module PreCommit
9
- # CircleCI plugin for Overcommit to validate config file (.circleci/config.yml)
10
- class CircleCi < Base
11
- # @return [Symbol, Array<[Symbol, String]>]
12
- def run
13
- result = execute(command)
14
- return :pass if result.success?
15
-
16
- if result.success?
17
- :pass
18
- else
19
- [:fail, result.stderr]
20
- end
21
- end
22
- end
23
- end
24
- end
25
- end
@@ -1,51 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'overcommit'
4
- require 'overcommit/hook/pre_commit/base'
5
-
6
- # Overcommit configuration
7
- module Overcommit
8
- module Hook
9
- module PreCommit
10
- # Runs `punchlist` against any modified Ruby files.
11
- class Punchlist < Base
12
- # @param stdout [String]
13
- # @return [Array<Overcommit::Hook::Message>]
14
- def parse_output(stdout)
15
- stdout.split("\n").map do |line|
16
- # @sg-ignore
17
- file, line_no, _message = line.split(':', 3)
18
- Overcommit::Hook::Message.new(:error, file, line_no.to_i, line)
19
- end
20
- end
21
-
22
- # @return [String]
23
- def files_glob
24
- "{" \
25
- "#{applicable_files.join(',')}" \
26
- "}"
27
- end
28
-
29
- # @return [Symbol, Array<Overcommit::Hook::Message>]
30
- def run
31
- # @sg-ignore
32
- # @type [Overcommit::Subprocess::Result]
33
- result = execute([*command, '-g', files_glob])
34
-
35
- warn result.stderr
36
-
37
- # If the command exited with a non-zero status or produced any output, treat it as a failure
38
- if result.status.nonzero? || !result.stdout.empty? || !result.stderr.empty?
39
- # Parse the output to create Message objects
40
- stdout = result.stdout
41
- messages = parse_output(stdout)
42
-
43
- return messages
44
- end
45
-
46
- :pass
47
- end
48
- end
49
- end
50
- end
51
- end
@@ -1,76 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'overcommit'
4
- require 'overcommit/hook/pre_commit/base'
5
-
6
- # @!override Overcommit::Hook::Base#execute
7
- # @return [Overcommit::Subprocess::Result]
8
-
9
- module Overcommit
10
- module Hook
11
- module PreCommit
12
- # Runs `solargraph typecheck` against any modified Ruby files.
13
- class SolargraphTypecheck < Base
14
- # @return [Array<String>]
15
- def run
16
- errors = []
17
-
18
- generate_errors_for_files(errors, *applicable_files)
19
-
20
- # output message to stderr
21
- errors
22
- end
23
-
24
- private
25
-
26
- # @param stderr [String]
27
- #
28
- # @return [Array<String>]
29
- def remove_harmless_glitches(stderr)
30
- stderr.split("\n").reject do |line|
31
- line.include?('[WARN]') ||
32
- line.include?('warning: parser/current is loading') ||
33
- line.include?('Please see https://github.com/whitequark')
34
- end
35
- end
36
-
37
- # @param errors [Array<String>]
38
- # @param file [String]
39
- # @return [void]
40
- def generate_errors_for_files(errors, *files)
41
- result = execute(['bundle', 'exec', 'solargraph', 'typecheck', '--level', 'strong', *files])
42
- return if result.success?
43
-
44
- stderr = remove_harmless_glitches(result.stderr)
45
- raise result.stderr unless stderr.empty?
46
-
47
- # @type [String]
48
- stdout = result.stdout
49
-
50
- stdout.split("\n").each do |error|
51
- error = parse_error(error)
52
- errors << error unless error.nil?
53
- end
54
- end
55
-
56
- # @param error [String]
57
- # @return [Overcommit::Hook::Message, nil]
58
- def parse_error(error)
59
- # Parse the result for the line number
60
- # @type [MatchData]
61
- match = error.match(/^(.+?):(\d+)/)
62
- return nil unless match
63
-
64
- # @!override MatchData.captures
65
- # @return [Array]
66
- # @sg-ignore
67
- file_path, lineno = match.captures
68
- message = error.sub("#{file_path}:#{lineno} - ",
69
- "#{file_path}:#{lineno}: ")
70
- # Emit the errors in the specified format
71
- Overcommit::Hook::Message.new(:error, file_path, lineno.to_i, message)
72
- end
73
- end
74
- end
75
- end
76
- end