checkoff 0.222.0 → 0.225.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/checkoff.gemspec +10 -5
- data/lib/checkoff/attachments.rb +1 -0
- data/lib/checkoff/cli.rb +1 -1
- data/lib/checkoff/clients.rb +2 -1
- data/lib/checkoff/custom_fields.rb +2 -1
- data/lib/checkoff/events.rb +2 -1
- data/lib/checkoff/internal/asana_event_enrichment.rb +1 -0
- data/lib/checkoff/internal/asana_event_filter.rb +1 -0
- data/lib/checkoff/internal/config_loader.rb +2 -2
- data/lib/checkoff/internal/logging.rb +6 -5
- data/lib/checkoff/internal/project_hashes.rb +1 -0
- data/lib/checkoff/internal/project_selector_evaluator.rb +2 -1
- data/lib/checkoff/internal/project_timing.rb +1 -0
- data/lib/checkoff/internal/search_url/custom_field_param_converter.rb +1 -0
- data/lib/checkoff/internal/search_url/custom_field_variant.rb +1 -0
- data/lib/checkoff/internal/search_url/date_param_converter.rb +1 -0
- data/lib/checkoff/internal/search_url/parser.rb +1 -0
- data/lib/checkoff/internal/search_url/results_merger.rb +1 -0
- data/lib/checkoff/internal/search_url/simple_param_converter.rb +1 -0
- data/lib/checkoff/internal/search_url.rb +1 -0
- data/lib/checkoff/internal/section_selector_evaluator.rb +2 -1
- data/lib/checkoff/internal/selector_classes/common/function_evaluator.rb +1 -0
- data/lib/checkoff/internal/selector_classes/common.rb +1 -0
- data/lib/checkoff/internal/selector_classes/function_evaluator.rb +1 -0
- data/lib/checkoff/internal/selector_classes/project/function_evaluator.rb +1 -0
- data/lib/checkoff/internal/selector_classes/project.rb +1 -0
- data/lib/checkoff/internal/selector_classes/section/function_evaluator.rb +3 -1
- data/lib/checkoff/internal/selector_classes/section.rb +1 -0
- data/lib/checkoff/internal/selector_classes/task/function_evaluator.rb +1 -0
- data/lib/checkoff/internal/selector_classes/task.rb +1 -0
- data/lib/checkoff/internal/selector_evaluator.rb +5 -4
- data/lib/checkoff/internal/task_hashes.rb +1 -0
- data/lib/checkoff/internal/task_selector_evaluator.rb +2 -1
- data/lib/checkoff/internal/task_timing.rb +1 -0
- data/lib/checkoff/internal/thread_local.rb +1 -0
- data/lib/checkoff/monkeypatches/resource_marshalling.rb +1 -0
- data/lib/checkoff/my_tasks.rb +2 -1
- data/lib/checkoff/portfolios.rb +12 -9
- data/lib/checkoff/project_selectors.rb +1 -0
- data/lib/checkoff/projects.rb +3 -1
- data/lib/checkoff/resources.rb +1 -0
- data/lib/checkoff/section_selectors.rb +1 -0
- data/lib/checkoff/sections.rb +4 -4
- data/lib/checkoff/subtasks.rb +1 -0
- data/lib/checkoff/tags.rb +67 -17
- data/lib/checkoff/task_searches.rb +1 -0
- data/lib/checkoff/task_selectors.rb +1 -0
- data/lib/checkoff/tasks.rb +2 -2
- data/lib/checkoff/timelines.rb +1 -0
- data/lib/checkoff/timing.rb +1 -0
- data/lib/checkoff/version.rb +2 -1
- data/lib/checkoff/workspaces.rb +2 -1
- data/lib/checkoff.rb +1 -0
- data/rbi/checkoff.rbi +4529 -0
- data/sig/checkoff.rbs +3749 -0
- metadata +4 -205
- data/.circleci/config.yml +0 -291
- data/.envrc +0 -9
- data/.git-hooks/pre_commit/circle_ci.rb +0 -25
- data/.git-hooks/pre_commit/punchlist.rb +0 -51
- data/.git-hooks/pre_commit/solargraph_typecheck.rb +0 -76
- data/.gitattributes +0 -6
- data/.gitignore +0 -61
- data/.markdownlint_style.rb +0 -3
- data/.mdlrc +0 -1
- data/.overcommit.yml +0 -114
- data/.rubocop.yml +0 -143
- data/.rubocop_todo.yml +0 -90
- data/.solargraph.yml +0 -35
- data/.yamllint.yml +0 -8
- data/CODE_OF_CONDUCT.md +0 -133
- data/CONTRIBUTING.rst +0 -75
- data/DEVELOPMENT.md +0 -69
- data/GLOSSARY.md +0 -16
- data/Gemfile +0 -66
- data/Gemfile.lock +0 -336
- data/LICENSE +0 -21
- data/Makefile +0 -121
- data/bin/brakeman +0 -27
- data/bin/bump +0 -29
- data/bin/checkoff +0 -29
- data/bin/console +0 -15
- data/bin/overcommit +0 -29
- data/bin/overcommit_branch +0 -114
- data/bin/rake +0 -29
- data/bin/rubocop +0 -27
- data/bin/setup +0 -8
- data/bin/solargraph +0 -27
- data/bin/sord +0 -27
- data/bin/spoom +0 -27
- data/bin/srb +0 -27
- data/bin/srb-rbi +0 -27
- data/bin/tapioca +0 -27
- data/bin/yard +0 -27
- data/config/annotations_asana.rb +0 -254
- data/config/annotations_misc.rb +0 -68
- data/config/env.1p +0 -2
- data/docs/.gitignore +0 -3
- data/docs/cookiecutter_input.json +0 -17
- data/docs/example_project.png +0 -0
- data/fix.sh +0 -534
- data/metrics/bigfiles_high_water_mark +0 -1
- data/metrics/brakeman_high_water_mark +0 -1
- data/metrics/bundle-audit_high_water_mark +0 -1
- data/metrics/cane_high_water_mark +0 -1
- data/metrics/eslint_high_water_mark +0 -1
- data/metrics/flake8_high_water_mark +0 -1
- data/metrics/flay_high_water_mark +0 -1
- data/metrics/flog_high_water_mark +0 -1
- data/metrics/jscs_high_water_mark +0 -1
- data/metrics/mdl_high_water_mark +0 -1
- data/metrics/pep8_high_water_mark +0 -1
- data/metrics/punchlist_high_water_mark +0 -1
- data/metrics/pycodestyle_high_water_mark +0 -1
- data/metrics/rails_best_practices_high_water_mark +0 -1
- data/metrics/rubocop_high_water_mark +0 -1
- data/metrics/scalastyle_high_water_mark +0 -1
- data/metrics/shellcheck_high_water_mark +0 -1
- data/package.json +0 -9
- data/rakelib/citest.rake +0 -4
- data/rakelib/clear_metrics.rake +0 -9
- data/rakelib/console.rake +0 -15
- data/rakelib/default.rake +0 -4
- data/rakelib/doc.rake +0 -6
- data/rakelib/gem_tasks.rake +0 -3
- data/rakelib/localtest.rake +0 -4
- data/rakelib/overcommit.rake +0 -6
- data/rakelib/quality.rake +0 -4
- data/rakelib/repl.rake +0 -4
- data/rakelib/test.rake +0 -10
- data/rakelib/trigger_next_builds.rake +0 -7
- data/rakelib/undercover.rake +0 -8
- data/requirements_dev.txt +0 -2
- data/sorbet/config +0 -4
- data/sorbet/rbi/annotations/.gitattributes +0 -1
- data/sorbet/rbi/annotations/activesupport.rbi +0 -453
- data/sorbet/rbi/annotations/faraday.rbi +0 -17
- data/sorbet/rbi/annotations/minitest.rbi +0 -119
- data/sorbet/rbi/annotations/mocha.rbi +0 -34
- data/sorbet/rbi/annotations/rainbow.rbi +0 -269
- data/sorbet/rbi/annotations/webmock.rbi +0 -9
- data/sorbet/rbi/dsl/.gitattributes +0 -1
- data/sorbet/rbi/dsl/active_support/callbacks.rbi +0 -23
- data/sorbet/rbi/gems/.gitattributes +0 -1
- data/sorbet/rbi/gems/activesupport@7.1.5.rbi +0 -18746
- data/sorbet/rbi/gems/addressable@2.8.6.rbi +0 -1994
- data/sorbet/rbi/gems/ansi@1.5.0.rbi +0 -688
- data/sorbet/rbi/gems/asana@0.10.6-ab9393136d9ca59b75e42a661fdddc1c65c8f7c3.rbi +0 -6142
- data/sorbet/rbi/gems/ast@2.4.2.rbi +0 -585
- data/sorbet/rbi/gems/backport@1.2.0.rbi +0 -523
- data/sorbet/rbi/gems/base64@0.2.0.rbi +0 -509
- data/sorbet/rbi/gems/benchmark@0.4.0.rbi +0 -618
- data/sorbet/rbi/gems/bigdecimal@3.1.5.rbi +0 -78
- data/sorbet/rbi/gems/brakeman@6.2.2.rbi +0 -222
- data/sorbet/rbi/gems/builder@3.2.4.rbi +0 -505
- data/sorbet/rbi/gems/bump@0.10.0.rbi +0 -169
- data/sorbet/rbi/gems/cache@0.4.1.rbi +0 -211
- data/sorbet/rbi/gems/cache_method@0.2.7.rbi +0 -293
- data/sorbet/rbi/gems/chef-utils@18.3.0.rbi +0 -9
- data/sorbet/rbi/gems/childprocess@5.1.0.rbi +0 -383
- data/sorbet/rbi/gems/coderay@1.1.3.rbi +0 -3427
- data/sorbet/rbi/gems/concurrent-ruby@1.2.3.rbi +0 -11591
- data/sorbet/rbi/gems/connection_pool@2.4.1.rbi +0 -9
- data/sorbet/rbi/gems/crack@0.4.5.rbi +0 -145
- data/sorbet/rbi/gems/diff-lcs@1.5.1.rbi +0 -969
- data/sorbet/rbi/gems/docile@1.4.0.rbi +0 -377
- data/sorbet/rbi/gems/drb@2.2.1.rbi +0 -1347
- data/sorbet/rbi/gems/e2mmap@0.1.0.rbi +0 -9
- data/sorbet/rbi/gems/erubi@1.13.0.rbi +0 -152
- data/sorbet/rbi/gems/faraday-em_http@1.0.0.rbi +0 -222
- data/sorbet/rbi/gems/faraday-em_synchrony@1.0.0.rbi +0 -126
- data/sorbet/rbi/gems/faraday-excon@1.1.0.rbi +0 -136
- data/sorbet/rbi/gems/faraday-httpclient@1.0.1.rbi +0 -145
- data/sorbet/rbi/gems/faraday-multipart@1.0.4.rbi +0 -259
- data/sorbet/rbi/gems/faraday-net_http@1.0.1.rbi +0 -142
- data/sorbet/rbi/gems/faraday-net_http_persistent@1.2.0.rbi +0 -118
- data/sorbet/rbi/gems/faraday-patron@1.0.0.rbi +0 -125
- data/sorbet/rbi/gems/faraday-rack@1.0.0.rbi +0 -133
- data/sorbet/rbi/gems/faraday-retry@1.0.3.rbi +0 -198
- data/sorbet/rbi/gems/faraday@1.10.3.rbi +0 -2729
- data/sorbet/rbi/gems/faraday_middleware-multi_json@0.0.6.rbi +0 -29
- data/sorbet/rbi/gems/faraday_middleware@1.2.0.rbi +0 -1004
- data/sorbet/rbi/gems/gli@2.22.0.rbi +0 -9
- data/sorbet/rbi/gems/hashdiff@1.0.1.rbi +0 -351
- data/sorbet/rbi/gems/i18n@1.14.6.rbi +0 -2359
- data/sorbet/rbi/gems/imagen@0.1.8.rbi +0 -340
- data/sorbet/rbi/gems/iniparse@1.5.0.rbi +0 -899
- data/sorbet/rbi/gems/jaro_winkler@1.6.0.rbi +0 -22
- data/sorbet/rbi/gems/json@2.7.1.rbi +0 -1562
- data/sorbet/rbi/gems/jwt@2.7.1.rbi +0 -1405
- data/sorbet/rbi/gems/kramdown-parser-gfm@1.1.0.rbi +0 -128
- data/sorbet/rbi/gems/kramdown@2.4.0.rbi +0 -3272
- data/sorbet/rbi/gems/language_server-protocol@3.17.0.3.rbi +0 -14238
- data/sorbet/rbi/gems/logger@1.6.2.rbi +0 -923
- data/sorbet/rbi/gems/mdl@0.13.0.rbi +0 -445
- data/sorbet/rbi/gems/method_source@1.0.0.rbi +0 -273
- data/sorbet/rbi/gems/mime-types-data@3.2023.1205.rbi +0 -127
- data/sorbet/rbi/gems/mime-types@3.5.1.rbi +0 -1252
- data/sorbet/rbi/gems/minitest-profile@0.0.2.rbi +0 -136
- data/sorbet/rbi/gems/minitest-reporters@1.6.1.rbi +0 -1014
- data/sorbet/rbi/gems/minitest@5.21.1.rbi +0 -1539
- data/sorbet/rbi/gems/mixlib-cli@2.1.8.rbi +0 -314
- data/sorbet/rbi/gems/mixlib-config@3.0.27.rbi +0 -581
- data/sorbet/rbi/gems/mixlib-shellout@3.2.7.rbi +0 -629
- data/sorbet/rbi/gems/mocha@2.1.0.rbi +0 -12
- data/sorbet/rbi/gems/multi_json@1.15.0.rbi +0 -268
- data/sorbet/rbi/gems/multi_xml@0.6.0.rbi +0 -102
- data/sorbet/rbi/gems/multipart-post@2.3.0.rbi +0 -234
- data/sorbet/rbi/gems/mutex_m@0.3.0.rbi +0 -97
- data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -159
- data/sorbet/rbi/gems/nokogiri@1.17.0.rbi +0 -8201
- data/sorbet/rbi/gems/oauth2@1.4.11.rbi +0 -833
- data/sorbet/rbi/gems/overcommit@0.64.1.rbi +0 -2400
- data/sorbet/rbi/gems/parallel@1.23.0.rbi +0 -274
- data/sorbet/rbi/gems/parser@3.2.2.4.rbi +0 -7253
- data/sorbet/rbi/gems/prism@1.2.0.rbi +0 -39085
- data/sorbet/rbi/gems/pry@0.14.2.rbi +0 -10070
- data/sorbet/rbi/gems/public_suffix@5.0.4.rbi +0 -936
- data/sorbet/rbi/gems/punchlist@1.3.2.rbi +0 -173
- data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -162
- data/sorbet/rbi/gems/rack@3.1.8.rbi +0 -4896
- data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -403
- data/sorbet/rbi/gems/rake@13.1.0.rbi +0 -3022
- data/sorbet/rbi/gems/rbi@0.2.1.rbi +0 -4535
- data/sorbet/rbi/gems/rbs@2.8.4.rbi +0 -5613
- data/sorbet/rbi/gems/regexp_parser@2.8.3.rbi +0 -3750
- data/sorbet/rbi/gems/reverse_markdown@2.1.1.rbi +0 -390
- data/sorbet/rbi/gems/rexml@3.3.9.rbi +0 -4964
- data/sorbet/rbi/gems/rubocop-ast@1.30.0.rbi +0 -7061
- data/sorbet/rbi/gems/rubocop-minitest@0.34.5.rbi +0 -2577
- data/sorbet/rbi/gems/rubocop-performance@1.20.2.rbi +0 -3262
- data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +0 -329
- data/sorbet/rbi/gems/rubocop-rspec@3.0.0.rbi +0 -7546
- data/sorbet/rbi/gems/rubocop@1.59.0.rbi +0 -57238
- data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1318
- data/sorbet/rbi/gems/ruby2_keywords@0.0.5.rbi +0 -9
- data/sorbet/rbi/gems/rugged@1.6.3.rbi +0 -1577
- data/sorbet/rbi/gems/securerandom@0.4.0.rbi +0 -75
- data/sorbet/rbi/gems/simplecov-html@0.12.3.rbi +0 -217
- data/sorbet/rbi/gems/simplecov-lcov@0.8.0.rbi +0 -256
- data/sorbet/rbi/gems/simplecov@0.22.0.rbi +0 -2149
- data/sorbet/rbi/gems/simplecov_json_formatter@0.1.4.rbi +0 -9
- data/sorbet/rbi/gems/solargraph-rails@1.1.0-9dc37915bd4f3b169046e34db6fb32193ab347d8.rbi +0 -320
- data/sorbet/rbi/gems/solargraph@0.50.1-904b9304770a59fac393c5cc3cad481e5bdf0fd8.rbi +0 -9396
- data/sorbet/rbi/gems/source_finder@3.2.1.rbi +0 -317
- data/sorbet/rbi/gems/spoom@1.5.0.rbi +0 -4932
- data/sorbet/rbi/gems/tapioca@0.16.5.rbi +0 -3617
- data/sorbet/rbi/gems/thor@1.3.2.rbi +0 -4378
- data/sorbet/rbi/gems/tilt@2.4.0.rbi +0 -933
- data/sorbet/rbi/gems/tomlrb@2.0.3.rbi +0 -9
- data/sorbet/rbi/gems/tzinfo@2.0.6.rbi +0 -5918
- data/sorbet/rbi/gems/undercover@0.5.0.rbi +0 -433
- data/sorbet/rbi/gems/unicode-display_width@2.5.0.rbi +0 -66
- data/sorbet/rbi/gems/webmock@3.19.1.rbi +0 -1769
- data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
- data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18406
- data/sorbet/rbi/todo.rbi +0 -11
- data/sorbet/tapioca/config.yml +0 -13
- data/sorbet/tapioca/require.rb +0 -4
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,61 +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
|
-
|
46
|
-
# Used by CircleCI as a place to store installed gems
|
47
|
-
/vendor
|
48
|
-
|
49
|
-
# Installed by fix.sh based on what latest versions are
|
50
|
-
/.python-version
|
51
|
-
/.ruby-version
|
52
|
-
|
53
|
-
# Ruby-related
|
54
|
-
/.bundle/
|
55
|
-
/.yardoc
|
56
|
-
/_yardoc/
|
57
|
-
/doc/
|
58
|
-
/pkg/
|
59
|
-
/spec/reports/
|
60
|
-
/tmp/
|
61
|
-
/coverage/
|
data/.markdownlint_style.rb
DELETED
data/.mdlrc
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
style ".markdownlint_style.rb"
|
data/.overcommit.yml
DELETED
@@ -1,114 +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
|
-
Punchlist:
|
89
|
-
command: ['bundle', 'exec', 'punchlist']
|
90
|
-
enabled: true
|
91
|
-
problem_on_unmodified_line: warn
|
92
|
-
exclude:
|
93
|
-
- 'sorbet/**/*'
|
94
|
-
|
95
|
-
PrePush:
|
96
|
-
Brakeman:
|
97
|
-
enabled: true
|
98
|
-
flags: ['--exit-on-warn', '--quiet', '--summary', '--force']
|
99
|
-
RakeTarget:
|
100
|
-
enabled: true
|
101
|
-
command: ['bundle', 'exec', 'rake']
|
102
|
-
include:
|
103
|
-
- 'Rakefile'
|
104
|
-
targets:
|
105
|
-
- 'clear_metrics'
|
106
|
-
- 'test'
|
107
|
-
- 'undercover'
|
108
|
-
|
109
|
-
#PostCheckout:
|
110
|
-
# ALL: # Special hook name that customizes all hooks of this type
|
111
|
-
# quiet: true # Change all post-checkout hooks to only display output on failure
|
112
|
-
#
|
113
|
-
# IndexTags:
|
114
|
-
# 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
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
|
data/CONTRIBUTING.rst
DELETED
@@ -1,75 +0,0 @@
|
|
1
|
-
============
|
2
|
-
Contributing
|
3
|
-
============
|
4
|
-
|
5
|
-
Contributions are welcome, and they are greatly appreciated! Every little bit
|
6
|
-
helps, and credit will always be given.
|
7
|
-
|
8
|
-
You can contribute in many ways:
|
9
|
-
|
10
|
-
Types of Contributions
|
11
|
-
----------------------
|
12
|
-
|
13
|
-
Report Bugs
|
14
|
-
~~~~~~~~~~~
|
15
|
-
|
16
|
-
Report bugs at https://github.com/apiology/checkoff/issues
|
17
|
-
|
18
|
-
If you are reporting a bug, please include:
|
19
|
-
|
20
|
-
* Your operating system name and version.
|
21
|
-
* Any details about your local setup that might be helpful in troubleshooting.
|
22
|
-
* Detailed steps to reproduce the bug.
|
23
|
-
|
24
|
-
Fix Bugs
|
25
|
-
~~~~~~~~
|
26
|
-
|
27
|
-
Look through the GitHub issues for bugs. Anything tagged with "bug"
|
28
|
-
and "help wanted" is open to whoever wants to implement a fix for it.
|
29
|
-
|
30
|
-
Implement Features
|
31
|
-
~~~~~~~~~~~~~~~~~~
|
32
|
-
|
33
|
-
Look through the GitHub issues for features. Anything tagged with "enhancement"
|
34
|
-
and "help wanted" is open to whoever wants to implement it.
|
35
|
-
|
36
|
-
If you have a new feature in mind, please start it by filing an issue
|
37
|
-
so we can discuss the need and approach before you invest time into
|
38
|
-
coding it.
|
39
|
-
|
40
|
-
Write Documentation
|
41
|
-
~~~~~~~~~~~~~~~~~~~
|
42
|
-
|
43
|
-
Checkoff could always use more documentation, whether as part of
|
44
|
-
the official Checkoff docs, in docstrings, or even on the web in blog posts, articles,
|
45
|
-
and such.
|
46
|
-
|
47
|
-
Submit Feedback
|
48
|
-
~~~~~~~~~~~~~~~
|
49
|
-
|
50
|
-
The best way to send feedback is to file an issue at
|
51
|
-
https://github.com/apiology/checkoff/issues.
|
52
|
-
|
53
|
-
If you are proposing a new feature:
|
54
|
-
|
55
|
-
* Explain in detail how it would work.
|
56
|
-
* Keep the scope as narrow as possible, to make it easier to implement.
|
57
|
-
* Remember that this is a volunteer-driven project, and that contributions
|
58
|
-
are welcome :)
|
59
|
-
|
60
|
-
Get Started!
|
61
|
-
------------
|
62
|
-
|
63
|
-
Ready to contribute? See DEVELOPMENT.md in this directory for details
|
64
|
-
on how to set yourself up for local development.
|
65
|
-
|
66
|
-
Pull Request Guidelines
|
67
|
-
-----------------------
|
68
|
-
|
69
|
-
Before you submit a pull request, check that it meets these guidelines:
|
70
|
-
|
71
|
-
1. The pull request should include tests.
|
72
|
-
|
73
|
-
2. If the pull request adds functionality, the docs should be updated. Put your
|
74
|
-
new functionality into a function with a docstring, and add the feature to
|
75
|
-
the list in README.md.
|