coconductor 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.github/CODEOWNERS +3 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +28 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +21 -0
- data/.github/config.yml +23 -0
- data/.github/no-response.yml +15 -0
- data/.github/release-drafter.yml +4 -0
- data/.github/settings.yml +33 -0
- data/.github/stale.yml +29 -0
- data/.gitignore +12 -0
- data/.rspec +1 -0
- data/.rubocop.yml +32 -0
- data/.travis.yml +8 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +21 -0
- data/README.md +76 -0
- data/Rakefile +6 -0
- data/bin/coconductor +32 -0
- data/coconductor.gemspec +34 -0
- data/docs/CODE_OF_CONDUCT.md +73 -0
- data/docs/CONTRIBUTING.md +85 -0
- data/lib/coconductor.rb +33 -0
- data/lib/coconductor/code_of_conduct.rb +155 -0
- data/lib/coconductor/commands/detect.rb +63 -0
- data/lib/coconductor/commands/diff.rb +75 -0
- data/lib/coconductor/commands/version.rb +6 -0
- data/lib/coconductor/matchers.rb +8 -0
- data/lib/coconductor/matchers/dice.rb +10 -0
- data/lib/coconductor/matchers/exact.rb +7 -0
- data/lib/coconductor/matchers/field_aware.rb +34 -0
- data/lib/coconductor/matchers/matcher.rb +9 -0
- data/lib/coconductor/project_files.rb +6 -0
- data/lib/coconductor/project_files/code_of_conduct_file.rb +22 -0
- data/lib/coconductor/project_files/project_file.rb +13 -0
- data/lib/coconductor/projects.rb +8 -0
- data/lib/coconductor/projects/fs_project.rb +24 -0
- data/lib/coconductor/projects/git_project.rb +30 -0
- data/lib/coconductor/projects/github_project.rb +8 -0
- data/lib/coconductor/projects/project.rb +33 -0
- data/lib/coconductor/version.rb +3 -0
- data/script/bootstrap +6 -0
- data/script/cibuild +9 -0
- data/script/console +6 -0
- data/script/vendor-codes-of-conduct +39 -0
- data/vendor/citizen-code-of-conduct/version/2/0/citizen_code_of_conduct.md +127 -0
- data/vendor/citizen-code-of-conduct/version/2/1/citizen_code_of_conduct.md +90 -0
- data/vendor/citizen-code-of-conduct/version/2/2/citizen_code_of_conduct.md +92 -0
- data/vendor/citizen-code-of-conduct/version/2/3/citizen_code_of_conduct.md +98 -0
- data/vendor/contributor-covenant/version/1/0/0/code-of-conduct.md +18 -0
- data/vendor/contributor-covenant/version/1/1/0/code-of-conduct.md +20 -0
- data/vendor/contributor-covenant/version/1/2/0/code-of-conduct.md +27 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.de.md +29 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.es.md +28 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.fr.md +56 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.hu.md +29 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.it.md +29 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.ja.md +48 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.md +53 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.pl.md +29 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.pt-br.md +54 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.pt.md +54 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.ru.md +54 -0
- data/vendor/contributor-covenant/version/1/3/0/code-of-conduct.sl.md +52 -0
- data/vendor/contributor-covenant/version/1/4/.index-template.html +19 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.bn.md +74 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.bs.md +50 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.de.md +48 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.el.md +79 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.es.md +50 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.fa-ir.md +65 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.fr.md +82 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.hi.md +50 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.id.md +67 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.is.md +78 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.iw.md +65 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.ja.md +75 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.kn.md +52 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.ko.md +67 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.md +78 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.mk.md +51 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.nl.md +77 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.pl.md +82 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.pt-br.md +76 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.pt.md +81 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.ro.md +75 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.ru.md +48 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.sl.md +77 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.sv.md +79 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.tr.md +73 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.uk.md +77 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.zh-cn.md +57 -0
- data/vendor/contributor-covenant/version/1/4/code-of-conduct.zh-tw.md +57 -0
- metadata +239 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 2ee61b32a0da6ae5579a75cd3b779173aff62ade67bda32a9c4ea8ec0e00bdb8
|
|
4
|
+
data.tar.gz: 1cf3bc17142ea6391af0e7187ccbdc74c0fe861c5c1c4aeea41419589ed36940
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 50806e9b4da9c93fb9fba54c244d6885a6a83ce095f8e452b66d36c40e977fc2a8bfefbea1d0bc369fee52c7695ff3f734d4eb371310dd4e9ab757ad4c828eab
|
|
7
|
+
data.tar.gz: cdb29b720102a2654045e188d3d2c30bdd6f0d3f408d26b9a63adeaf6c5ac19f77edf5e432c192c6e1081a7fc61de3c6e11365e251abe81ca9a7faf8127406ec
|
data/.github/CODEOWNERS
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug report
|
|
3
|
+
about: Create a report to help us improve
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Describe the bug
|
|
8
|
+
|
|
9
|
+
A clear and concise description of what the bug is.
|
|
10
|
+
|
|
11
|
+
### Steps to reproduce the behavior
|
|
12
|
+
|
|
13
|
+
1. Go to '...'
|
|
14
|
+
2. Click on '....'
|
|
15
|
+
3. Scroll down to '....'
|
|
16
|
+
4. See error
|
|
17
|
+
|
|
18
|
+
### Expected behavior
|
|
19
|
+
|
|
20
|
+
A clear and concise description of what you expected to happen.
|
|
21
|
+
|
|
22
|
+
### Screenshots
|
|
23
|
+
|
|
24
|
+
If applicable, add screenshots to help explain your problem.
|
|
25
|
+
|
|
26
|
+
### Additional context
|
|
27
|
+
|
|
28
|
+
Add any other context about the problem here.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature request
|
|
3
|
+
about: Suggest an idea for this project
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
### Is your feature request related to a problem? Please describe the problem you're trying to solve.
|
|
8
|
+
|
|
9
|
+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
|
10
|
+
|
|
11
|
+
### Describe the solution you'd like
|
|
12
|
+
|
|
13
|
+
A clear and concise description of what you want to happen.
|
|
14
|
+
|
|
15
|
+
### Describe alternatives you've considered
|
|
16
|
+
|
|
17
|
+
A clear and concise description of any alternative solutions or features you've considered.
|
|
18
|
+
|
|
19
|
+
### Additional context
|
|
20
|
+
|
|
21
|
+
Add any other context or screenshots about the feature request here.
|
data/.github/config.yml
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Behaviorbot config. See https://github.com/behaviorbot/ for more information.
|
|
2
|
+
# Note: Please Don't edit this file directly.
|
|
3
|
+
# Edit https://github.com/benbalter/shared-community-files instead.
|
|
4
|
+
|
|
5
|
+
# Configuration for update-docs - https://github.com/behaviorbot/update-docs
|
|
6
|
+
updateDocsComment: "Thanks for the pull request! If you are making any changes to the user-facing functionality, please be sure to update the documentation in the `README` or `docs/` folder alongside your change. :heart:"
|
|
7
|
+
|
|
8
|
+
# Configuration for request-info - https://github.com/behaviorbot/request-info
|
|
9
|
+
requestInfoReplyComment: Thanks for this. Do you mind providing a bit more information about what problem you're trying to solve?
|
|
10
|
+
requestInfoLabelToAdd: more-information-needed
|
|
11
|
+
|
|
12
|
+
# Configuration for new-issue-welcome - https://github.com/behaviorbot/new-issue-welcome
|
|
13
|
+
#newIssueWelcomeComment: >
|
|
14
|
+
# Welcome!
|
|
15
|
+
|
|
16
|
+
# Configuration for new-pr-welcome - https://github.com/behaviorbot/new-pr-welcome
|
|
17
|
+
newPRWelcomeComment: Welcome! Congrats on your first pull request to Coconductor. If you haven't already, please be sure to check out [the contributing guidelines](https://github.com/benbalter/coconductor/blob/master/docs/CONTRIBUTING.md).
|
|
18
|
+
|
|
19
|
+
# Configuration for first-pr-merge - https://github.com/behaviorbot/first-pr-merge
|
|
20
|
+
firstPRMergeComment: "Congrats on getting your first pull request to Coconductor merged! Without amazing humans like you submitting pull requests, we couldn’t run this project. You rock! :tada:<br /><br />If you're interested in tackling another bug or feature, take a look at [the open issues](https://github.com/benbalter/coconductor/issues), especially those [labeled `help wanted`](https://github.com/benbalter/coconductor/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)."
|
|
21
|
+
|
|
22
|
+
# Bug workaround
|
|
23
|
+
contact_links: []
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Configuration for probot-no-response - https://github.com/probot/no-response
|
|
2
|
+
# Note: Please Don't edit this file directly.
|
|
3
|
+
# Edit https://github.com/benbalter/shared-community-files instead.
|
|
4
|
+
|
|
5
|
+
# Number of days of inactivity before an Issue is closed for lack of response
|
|
6
|
+
daysUntilClose: 14
|
|
7
|
+
# Label requiring a response
|
|
8
|
+
responseRequiredLabel: more-information-needed
|
|
9
|
+
# Comment to post when closing an Issue for lack of response. Set to `false` to disable
|
|
10
|
+
closeComment: >
|
|
11
|
+
This issue has been automatically closed because there has been no response
|
|
12
|
+
to our request for more information from the original author. With only the
|
|
13
|
+
information that is currently in the issue, we don't have enough information
|
|
14
|
+
to take action. Please reach out if you have or find the answers we need so
|
|
15
|
+
that we can investigate further.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# Repository settings set via https://github.com/probot/settings
|
|
2
|
+
# Note: Please Don't edit this file directly.
|
|
3
|
+
# Edit https://github.com/benbalter/shared-community-files instead.
|
|
4
|
+
|
|
5
|
+
repository:
|
|
6
|
+
has_issues: true
|
|
7
|
+
has_wiki: false
|
|
8
|
+
has_projects: false
|
|
9
|
+
has_downloads: false
|
|
10
|
+
|
|
11
|
+
labels:
|
|
12
|
+
- name: help wanted
|
|
13
|
+
oldname: help-wanted
|
|
14
|
+
color: 0e8a16
|
|
15
|
+
- name: more-information-needed
|
|
16
|
+
color: d93f0b
|
|
17
|
+
- name: bug
|
|
18
|
+
color: b60205
|
|
19
|
+
- name: feature
|
|
20
|
+
color: 1d76db
|
|
21
|
+
- name: good first issue
|
|
22
|
+
color: "5319e7"
|
|
23
|
+
|
|
24
|
+
# Not currently implemented by probot/settings, but manually implemented in script/deploy
|
|
25
|
+
branch_protection:
|
|
26
|
+
restrictions: null
|
|
27
|
+
enforce_admins: false
|
|
28
|
+
required_status_checks:
|
|
29
|
+
strict: true
|
|
30
|
+
contexts:
|
|
31
|
+
- "continuous-integration/travis-ci"
|
|
32
|
+
required_pull_request_reviews:
|
|
33
|
+
require_code_owner_reviews: true
|
data/.github/stale.yml
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Configuration for probot-stale - https://github.com/probot/stale
|
|
2
|
+
# Note: Please Don't edit this file directly.
|
|
3
|
+
# Edit https://github.com/benbalter/shared-community-files instead.
|
|
4
|
+
|
|
5
|
+
# Number of days of inactivity before an Issue or Pull Request becomes stale
|
|
6
|
+
daysUntilStale: 60
|
|
7
|
+
|
|
8
|
+
# Number of days of inactivity before a stale Issue or Pull Request is closed
|
|
9
|
+
daysUntilClose: 7
|
|
10
|
+
|
|
11
|
+
# Issues or Pull Requests with these labels will never be considered stale
|
|
12
|
+
exemptLabels:
|
|
13
|
+
- pinned
|
|
14
|
+
- security
|
|
15
|
+
|
|
16
|
+
# Label to use when marking as stale
|
|
17
|
+
staleLabel: wontfix
|
|
18
|
+
|
|
19
|
+
# Comment to post when marking as stale. Set to `false` to disable
|
|
20
|
+
markComment: >
|
|
21
|
+
This issue has been automatically marked as stale because it has not had
|
|
22
|
+
recent activity. It will be closed if no further activity occurs. Thank you
|
|
23
|
+
for your contributions.
|
|
24
|
+
|
|
25
|
+
# Comment to post when closing a stale Issue or Pull Request. Set to `false` to disable
|
|
26
|
+
closeComment: false
|
|
27
|
+
|
|
28
|
+
# Limit to only `issues` or `pulls`
|
|
29
|
+
# only: issues
|
data/.gitignore
ADDED
data/.rspec
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
--require spec_helper
|
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
Style/Documentation:
|
|
2
|
+
Enabled: false
|
|
3
|
+
|
|
4
|
+
Metrics/BlockLength:
|
|
5
|
+
Exclude:
|
|
6
|
+
- spec/**/*
|
|
7
|
+
|
|
8
|
+
Metrics/LineLength:
|
|
9
|
+
Exclude:
|
|
10
|
+
- lib/coconductor/project_files.rb
|
|
11
|
+
- lib/coconductor/commands/*
|
|
12
|
+
|
|
13
|
+
Metrics/ClassLength:
|
|
14
|
+
Exclude:
|
|
15
|
+
- lib/coconductor/code_of_conduct.rb
|
|
16
|
+
|
|
17
|
+
Metrics/PerceivedComplexity:
|
|
18
|
+
Exclude:
|
|
19
|
+
- lib/coconductor/commands/*
|
|
20
|
+
|
|
21
|
+
Metrics/CyclomaticComplexity:
|
|
22
|
+
Exclude:
|
|
23
|
+
- lib/coconductor/commands/*
|
|
24
|
+
|
|
25
|
+
Metrics/AbcSize:
|
|
26
|
+
Exclude:
|
|
27
|
+
- lib/coconductor/commands/*
|
|
28
|
+
|
|
29
|
+
Metrics/MethodLength:
|
|
30
|
+
Exclude:
|
|
31
|
+
- lib/coconductor/commands/*
|
|
32
|
+
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2018 Ben Balter
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# Coconductor
|
|
2
|
+
|
|
3
|
+
[](https://travis-ci.org/benbalter/coconductor) [](http://badge.fury.io/rb/coconductor)
|
|
4
|
+
|
|
5
|
+
A (work-in-progress) Code of Conduct detector based off [Licensee](https://github.com/benbalter/licensee).
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
`gem install coconductor` or add `gem 'coconductor'` to your project's Gemfile and `bundle install`
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
### Ruby
|
|
14
|
+
|
|
15
|
+
```ruby
|
|
16
|
+
path = 'path/to/some/project'
|
|
17
|
+
code_of_conduct = Coconductor.code_of_conduct(path)
|
|
18
|
+
|
|
19
|
+
code_of_conduct.key
|
|
20
|
+
=> "contributor-covenant/version/1/4"
|
|
21
|
+
|
|
22
|
+
code_of_conduct.family
|
|
23
|
+
=> "contributor-covenant"
|
|
24
|
+
|
|
25
|
+
code_of_conduct.version
|
|
26
|
+
=> 1.4
|
|
27
|
+
|
|
28
|
+
# lower-level access
|
|
29
|
+
|
|
30
|
+
project = Coconductor.project(path)
|
|
31
|
+
|
|
32
|
+
project.code_of_conduct.key
|
|
33
|
+
=> "contributor-covenant/version/1/4"
|
|
34
|
+
|
|
35
|
+
project.code_of_conduct_file.filename
|
|
36
|
+
=> "CODE_OF_CONDUCT.txt"
|
|
37
|
+
|
|
38
|
+
project.code_of_conduct_file.matcher
|
|
39
|
+
=> Coconductor::Matchers::Dice
|
|
40
|
+
|
|
41
|
+
project.code_of_conduct_file.confidence
|
|
42
|
+
=> 98.9648033126294
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### Command line
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
coconductor detect [PATH] # Detect the code of conduct of the given project
|
|
49
|
+
coconductor diff [PATH] # Compare the given code of conduct text to a known code of conduct
|
|
50
|
+
coconductor help [COMMAND] # Describe available commands or one specific command
|
|
51
|
+
coconductor version # Return the Coconductor version
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
#### Example output
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
Code of conduct: Contributor Covenant v1.4
|
|
58
|
+
Key: contributor-covenant/version/1/4
|
|
59
|
+
Family: contributor-covenant
|
|
60
|
+
Version: 1.4
|
|
61
|
+
Path: docs/CODE_OF_CONDUCT.md
|
|
62
|
+
Confidence: 98.96%
|
|
63
|
+
Matcher: Coconductor::Matchers::Dice
|
|
64
|
+
Content hash: 627827ddda36b5c42b3a00418d3d7d5b16e5088a
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### Codes of Conduct detected
|
|
68
|
+
|
|
69
|
+
* Contributor Covenant (all official languages and versions)
|
|
70
|
+
* Citizen Code of Conduct (all versions)
|
|
71
|
+
|
|
72
|
+
### Matching strategy
|
|
73
|
+
|
|
74
|
+
* Exact match (after normalization)
|
|
75
|
+
* Field aware exact match (e.g., ignoring fields intended to be filled in)
|
|
76
|
+
* [Sørensen–Dice coefficient](https://en.wikipedia.org/wiki/S%C3%B8rensen%E2%80%93Dice_coefficient)
|
data/Rakefile
ADDED
data/bin/coconductor
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require_relative '../lib/coconductor'
|
|
4
|
+
require 'thor'
|
|
5
|
+
|
|
6
|
+
class CoconductorCLI < Thor
|
|
7
|
+
package_name 'Coconductor'
|
|
8
|
+
default_task :detect
|
|
9
|
+
|
|
10
|
+
private
|
|
11
|
+
|
|
12
|
+
def path
|
|
13
|
+
args.first || Dir.pwd
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def project
|
|
17
|
+
@project ||= Coconductor.project(path)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def code_of_conduct
|
|
21
|
+
project.code_of_conduct
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
def code_of_conduct_file
|
|
25
|
+
project.code_of_conduct_file
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
commands_dir = File.expand_path '../lib/coconductor/commands/', __dir__
|
|
30
|
+
Dir["#{commands_dir}/*.rb"].each { |c| require(c) }
|
|
31
|
+
|
|
32
|
+
CoconductorCLI.start(ARGV)
|
data/coconductor.gemspec
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
lib = File.expand_path('lib', __dir__)
|
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
|
+
require 'coconductor/version'
|
|
4
|
+
|
|
5
|
+
Gem::Specification.new do |spec|
|
|
6
|
+
spec.name = 'coconductor'
|
|
7
|
+
spec.version = Coconductor::VERSION
|
|
8
|
+
spec.authors = ['Ben Balter']
|
|
9
|
+
spec.email = ['ben.balter@github.com']
|
|
10
|
+
|
|
11
|
+
spec.summary = <<-SUMMARY
|
|
12
|
+
work-in-progress code of conduct detector based off Licensee
|
|
13
|
+
SUMMARY
|
|
14
|
+
spec.homepage = 'https://github.com/benbalter/coconductor'
|
|
15
|
+
spec.license = 'MIT'
|
|
16
|
+
|
|
17
|
+
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
18
|
+
`git ls-files -z`.split("\x0").reject do |f|
|
|
19
|
+
f.match(%r{^(test|spec|features)/})
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
spec.bindir = 'exe'
|
|
23
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
24
|
+
spec.require_paths = ['lib']
|
|
25
|
+
|
|
26
|
+
spec.add_dependency 'licensee', '~> 9.9', '>= 9.9.3'
|
|
27
|
+
spec.add_dependency 'thor', '~> 0.20'
|
|
28
|
+
spec.add_dependency 'toml', '~> 0.2'
|
|
29
|
+
|
|
30
|
+
spec.add_development_dependency 'bundler', '~> 1.16'
|
|
31
|
+
spec.add_development_dependency 'pry', '~> 0.10'
|
|
32
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
|
33
|
+
spec.add_development_dependency 'rubocop', '~> 0.50'
|
|
34
|
+
end
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# Contributor Covenant Code of Conduct
|
|
2
|
+
|
|
3
|
+
## Our Pledge
|
|
4
|
+
|
|
5
|
+
In the interest of fostering an open and welcoming environment, we as
|
|
6
|
+
contributors and maintainers pledge to making participation in our project and
|
|
7
|
+
our community a harassment-free experience for everyone, regardless of age, body
|
|
8
|
+
size, disability, ethnicity, sex characteristics, gender identity and expression,
|
|
9
|
+
level of experience, education, socio-economic status, nationality, personal
|
|
10
|
+
appearance, race, religion, or sexual identity and orientation.
|
|
11
|
+
|
|
12
|
+
## Our Standards
|
|
13
|
+
|
|
14
|
+
Examples of behavior that contributes to creating a positive environment
|
|
15
|
+
include:
|
|
16
|
+
|
|
17
|
+
* Using welcoming and inclusive language
|
|
18
|
+
* Being respectful of differing viewpoints and experiences
|
|
19
|
+
* Gracefully accepting constructive criticism
|
|
20
|
+
* Focusing on what is best for the community
|
|
21
|
+
* Showing empathy towards other community members
|
|
22
|
+
|
|
23
|
+
Examples of unacceptable behavior by participants include:
|
|
24
|
+
|
|
25
|
+
* The use of sexualized language or imagery and unwelcome sexual attention or
|
|
26
|
+
advances
|
|
27
|
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
28
|
+
* Public or private harassment
|
|
29
|
+
* Publishing others' private information, such as a physical or electronic
|
|
30
|
+
address, without explicit permission
|
|
31
|
+
* Other conduct which could reasonably be considered inappropriate in a
|
|
32
|
+
professional setting
|
|
33
|
+
|
|
34
|
+
## Our Responsibilities
|
|
35
|
+
|
|
36
|
+
Project maintainers are responsible for clarifying the standards of acceptable
|
|
37
|
+
behavior and are expected to take appropriate and fair corrective action in
|
|
38
|
+
response to any instances of unacceptable behavior.
|
|
39
|
+
|
|
40
|
+
Project maintainers have the right and responsibility to remove, edit, or
|
|
41
|
+
reject comments, commits, code, wiki edits, issues, and other contributions
|
|
42
|
+
that are not aligned to this Code of Conduct, or to ban temporarily or
|
|
43
|
+
permanently any contributor for other behaviors that they deem inappropriate,
|
|
44
|
+
threatening, offensive, or harmful.
|
|
45
|
+
|
|
46
|
+
## Scope
|
|
47
|
+
|
|
48
|
+
This Code of Conduct applies both within project spaces and in public spaces
|
|
49
|
+
when an individual is representing the project or its community. Examples of
|
|
50
|
+
representing a project or community include using an official project e-mail
|
|
51
|
+
address, posting via an official social media account, or acting as an appointed
|
|
52
|
+
representative at an online or offline event. Representation of a project may be
|
|
53
|
+
further defined and clarified by project maintainers.
|
|
54
|
+
|
|
55
|
+
## Enforcement
|
|
56
|
+
|
|
57
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
58
|
+
reported by contacting the project team at ben@balter.com. All
|
|
59
|
+
complaints will be reviewed and investigated and will result in a response that
|
|
60
|
+
is deemed necessary and appropriate to the circumstances. The project team is
|
|
61
|
+
obligated to maintain confidentiality with regard to the reporter of an incident.
|
|
62
|
+
Further details of specific enforcement policies may be posted separately.
|
|
63
|
+
|
|
64
|
+
Project maintainers who do not follow or enforce the Code of Conduct in good
|
|
65
|
+
faith may face temporary or permanent repercussions as determined by other
|
|
66
|
+
members of the project's leadership.
|
|
67
|
+
|
|
68
|
+
## Attribution
|
|
69
|
+
|
|
70
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
|
71
|
+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
|
72
|
+
|
|
73
|
+
[homepage]: https://www.contributor-covenant.org
|