main_branch_shared_rubocop_config 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 71dc0235b6f0f831d1903800bf05606af666aa86091891138922bfcbeef207bc
4
+ data.tar.gz: 515d3723380cdac8bd68949adb707111e49afd954304072e2967212d11f5b853
5
+ SHA512:
6
+ metadata.gz: 3d6c1c9a764da4be29a07c5f3ccee1de38337113c68ef8fdd8dd425a3f834ce45c864adb99513a25293bc25994138beb1e88500681749bea72bcd1a68c609b50
7
+ data.tar.gz: 04ed4d52b4a89b23b32e3b346772172a1515c92f91ec5610c3450695966c82c604afe43f60c5addbb9ca3d46fcc3c16d0db16488c8dcb1f09885413fbd89d2e6
data/.markdownlint.yml ADDED
@@ -0,0 +1,25 @@
1
+ default: true
2
+
3
+ # Unordered list indentation
4
+ MD007: { indent: 2 }
5
+
6
+ # Line length
7
+ MD013: { line_length: 90, tables: false, code_blocks: false }
8
+
9
+ # Heading duplication is allowed for non-sibling headings
10
+ MD024: { siblings_only: true }
11
+
12
+ # Do not allow the specified trailing punctuation in a header
13
+ MD026: { punctuation: '.,;:' }
14
+
15
+ # Order list items must have a prefix that increases in numerical order
16
+ MD029: { style: 'ordered' }
17
+
18
+ # Lists do not need to be surrounded by blank lines
19
+ MD032: false
20
+
21
+ # Allow raw HTML in Markdown
22
+ MD033: false
23
+
24
+ # Allow emphasis to be used instead of a heading
25
+ MD036: false
data/CHANGELOG.md ADDED
@@ -0,0 +1,17 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ This project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ ## v0.1.0 (2024-09-17)
8
+
9
+ [Full Changelog](https://github.com/main-branch/main_branch_shared_rubocop_config/compare/f01fd76..v0.1.0)
10
+
11
+ Changes:
12
+
13
+ * 450a0f6 Create a standard structure for keeping the gem version
14
+ * dc7d7ea Add create_github_release as a development dependency
15
+ * 3a2a26b Allow the config/ directory to be include in the gem.
16
+ * 352792c Update installation and usage directions
17
+ * f01fd76 Initial revision
@@ -0,0 +1,132 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ We as members, contributors, and leaders pledge to make participation in our
6
+ community a harassment-free experience for everyone, regardless of age, body
7
+ size, visible or invisible disability, ethnicity, sex characteristics, gender
8
+ identity and expression, level of experience, education, socio-economic status,
9
+ nationality, personal appearance, race, caste, color, religion, or sexual
10
+ identity and orientation.
11
+
12
+ We pledge to act and interact in ways that contribute to an open, welcoming,
13
+ diverse, inclusive, and healthy community.
14
+
15
+ ## Our Standards
16
+
17
+ Examples of behavior that contributes to a positive environment for our
18
+ community include:
19
+
20
+ * Demonstrating empathy and kindness toward other people
21
+ * Being respectful of differing opinions, viewpoints, and experiences
22
+ * Giving and gracefully accepting constructive feedback
23
+ * Accepting responsibility and apologizing to those affected by our mistakes,
24
+ and learning from the experience
25
+ * Focusing on what is best not just for us as individuals, but for the overall
26
+ community
27
+
28
+ Examples of unacceptable behavior include:
29
+
30
+ * The use of sexualized language or imagery, and sexual attention or advances of
31
+ any kind
32
+ * Trolling, insulting or derogatory comments, and personal or political attacks
33
+ * Public or private harassment
34
+ * Publishing others' private information, such as a physical or email address,
35
+ without their explicit permission
36
+ * Other conduct which could reasonably be considered inappropriate in a
37
+ professional setting
38
+
39
+ ## Enforcement Responsibilities
40
+
41
+ Community leaders are responsible for clarifying and enforcing our standards of
42
+ acceptable behavior and will take appropriate and fair corrective action in
43
+ response to any behavior that they deem inappropriate, threatening, offensive,
44
+ or harmful.
45
+
46
+ Community leaders have the right and responsibility to remove, edit, or reject
47
+ comments, commits, code, wiki edits, issues, and other contributions that are
48
+ not aligned to this Code of Conduct, and will communicate reasons for moderation
49
+ decisions when appropriate.
50
+
51
+ ## Scope
52
+
53
+ This Code of Conduct applies within all community spaces, and also applies when
54
+ an individual is officially representing the community in public spaces.
55
+ Examples of representing our community include using an official email address,
56
+ posting via an official social media account, or acting as an appointed
57
+ representative at an online or offline event.
58
+
59
+ ## Enforcement
60
+
61
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
62
+ reported to the community leaders responsible for enforcement at
63
+ [INSERT CONTACT METHOD].
64
+ All complaints will be reviewed and investigated promptly and fairly.
65
+
66
+ All community leaders are obligated to respect the privacy and security of the
67
+ reporter of any incident.
68
+
69
+ ## Enforcement Guidelines
70
+
71
+ Community leaders will follow these Community Impact Guidelines in determining
72
+ the consequences for any action they deem in violation of this Code of Conduct:
73
+
74
+ ### 1. Correction
75
+
76
+ **Community Impact**: Use of inappropriate language or other behavior deemed
77
+ unprofessional or unwelcome in the community.
78
+
79
+ **Consequence**: A private, written warning from community leaders, providing
80
+ clarity around the nature of the violation and an explanation of why the
81
+ behavior was inappropriate. A public apology may be requested.
82
+
83
+ ### 2. Warning
84
+
85
+ **Community Impact**: A violation through a single incident or series of
86
+ actions.
87
+
88
+ **Consequence**: A warning with consequences for continued behavior. No
89
+ interaction with the people involved, including unsolicited interaction with
90
+ those enforcing the Code of Conduct, for a specified period of time. This
91
+ includes avoiding interactions in community spaces as well as external channels
92
+ like social media. Violating these terms may lead to a temporary or permanent
93
+ ban.
94
+
95
+ ### 3. Temporary Ban
96
+
97
+ **Community Impact**: A serious violation of community standards, including
98
+ sustained inappropriate behavior.
99
+
100
+ **Consequence**: A temporary ban from any sort of interaction or public
101
+ communication with the community for a specified period of time. No public or
102
+ private interaction with the people involved, including unsolicited interaction
103
+ with those enforcing the Code of Conduct, is allowed during this period.
104
+ Violating these terms may lead to a permanent ban.
105
+
106
+ ### 4. Permanent Ban
107
+
108
+ **Community Impact**: Demonstrating a pattern of violation of community
109
+ standards, including sustained inappropriate behavior, harassment of an
110
+ individual, or aggression toward or disparagement of classes of individuals.
111
+
112
+ **Consequence**: A permanent ban from any sort of public interaction within the
113
+ community.
114
+
115
+ ## Attribution
116
+
117
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118
+ version 2.1, available at
119
+ [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
120
+
121
+ Community Impact Guidelines were inspired by
122
+ [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
123
+
124
+ For answers to common questions about this code of conduct, see the FAQ at
125
+ [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
126
+ [https://www.contributor-covenant.org/translations][translations].
127
+
128
+ [homepage]: https://www.contributor-covenant.org
129
+ [v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
130
+ [Mozilla CoC]: https://github.com/mozilla/diversity
131
+ [FAQ]: https://www.contributor-covenant.org/faq
132
+ [translations]: https://www.contributor-covenant.org/translations
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2024 James Couball
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,72 @@
1
+ # main-branch shared Rubocop configuration
2
+
3
+ This gem contains a shared Rubocop configuration to use for all projects in the
4
+ main-branch organization.
5
+
6
+ ## Installation
7
+
8
+ 1. Add the main_branch_shared_rubocop_config gem as a development dependency to your
9
+ project by doing either:
10
+
11
+ Add the following line to your gem's gemspec:
12
+
13
+ ```ruby
14
+ spec.add_development_dependency 'main_branch_shared_rubocop_config'
15
+ ```
16
+
17
+ OR add the following line to your Gemfile:
18
+
19
+ ```ruby
20
+ gem "main_branch_shared_rubocop_config", :group => :development
21
+ ```
22
+
23
+ 2. Install the gem as a dependency by running:
24
+
25
+ ```shell
26
+ bundle install
27
+ ```
28
+
29
+ ## Usage
30
+
31
+ To use the Rubocop configuration contained in this gem, add the following to your
32
+ project's Rubocop configuration file (usually .rubocop.yml):
33
+
34
+ ```yaml
35
+ inherit_gem:
36
+ main_branch_shared_rubocop_config: config/rubocop.yml
37
+ ```
38
+
39
+ Configurations inherited in with `inerit_gem` will have the lowest precedence of
40
+ inheritance. Other directives in the above configuration file will supersede any of
41
+ the inherited configurations.
42
+
43
+ ## Development
44
+
45
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake
46
+ spec` to run the tests. You can also run `bin/console` for an interactive prompt that
47
+ will allow you to experiment.
48
+
49
+ To install this gem onto your local machine, run `bundle exec rake install`. To
50
+ release a new version, update the version number in `version.rb`, and then run
51
+ `bundle exec rake release`, which will create a git tag for the version, push git
52
+ commits and the created tag, and push the `.gem` file to
53
+ [rubygems.org](https://rubygems.org).
54
+
55
+ ## Contributing
56
+
57
+ Bug reports and pull requests are welcome on GitHub at
58
+ https://github.com/main-branch/main_branch_shared_rubocop_config. This project is
59
+ intended to be a safe, welcoming space for collaboration, and contributors are
60
+ expected to adhere to the [code of
61
+ conduct](https://github.com/main-branch/main_branch_shared_rubocop_config/blob/main/CODE_OF_CONDUCT.md).
62
+
63
+ ## License
64
+
65
+ The gem is available as open source under the terms of the [MIT
66
+ License](https://opensource.org/licenses/MIT).
67
+
68
+ ## Code of Conduct
69
+
70
+ Everyone interacting in the MainBranchSharedRubocopConfig project's codebases, issue
71
+ trackers, chat rooms and mailing lists is expected to follow the [code of
72
+ conduct](https://github.com/main-branch/main_branch_shared_rubocop_config/blob/main/CODE_OF_CONDUCT.md).
data/Rakefile ADDED
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "bundler/gem_tasks"
@@ -0,0 +1,38 @@
1
+ AllCops:
2
+ NewCops: enable
3
+ SuggestExtensions: false
4
+ DefaultFormatter: fuubar
5
+
6
+ # Output extra information for each offense to make it easier to diagnose:
7
+ DisplayCopNames: true
8
+ DisplayStyleGuide: true
9
+ ExtraDetails: true
10
+
11
+ # RuboCop enforces rules depending on the oldest version of Ruby which
12
+ # your project supports:
13
+ TargetRubyVersion: 3.1
14
+
15
+ Gemspec/DevelopmentDependencies:
16
+ EnforcedStyle: gemspec
17
+
18
+ Layout/LineLength:
19
+ Max: 120
20
+
21
+ # The DSL for RSpec and the gemspec file make it very hard to limit block length:
22
+ Metrics/BlockLength:
23
+ Exclude:
24
+ - "spec/spec_helper.rb"
25
+ - "spec/**/*_spec.rb"
26
+ - "*.gemspec"
27
+
28
+ Metrics/ModuleLength:
29
+ CountAsOne: ['hash']
30
+
31
+ # When writing minitest tests, it is very hard to limit test class length:
32
+ Metrics/ClassLength:
33
+ CountAsOne: ['hash']
34
+ Exclude:
35
+ - "test/**/*_test.rb"
36
+
37
+ Style/AsciiComments:
38
+ Enabled: false
@@ -0,0 +1,7 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Toplevel namespace for this gem
4
+ module MainBranchSharedRubocopConfig
5
+ # Version of this gem
6
+ VERSION = "0.1.0"
7
+ end
@@ -0,0 +1 @@
1
+ # frozen_string_literal: true
metadata ADDED
@@ -0,0 +1,69 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: main_branch_shared_rubocop_config
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - James Couball
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2024-09-18 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: create_github_release
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.5'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.5'
27
+ description: Shared Rubocop configuration for the main-branch organization
28
+ email:
29
+ - jcouball@yahoo.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".markdownlint.yml"
35
+ - CHANGELOG.md
36
+ - CODE_OF_CONDUCT.md
37
+ - LICENSE.txt
38
+ - README.md
39
+ - Rakefile
40
+ - config/rubocop.yml
41
+ - lib/main_branch_shared_rubocop_config.rb
42
+ - lib/main_branch_shared_rubocop_config/version.rb
43
+ homepage: https://github.com/main-branch/main_branch_shared_rubocop_config
44
+ licenses:
45
+ - MIT
46
+ metadata:
47
+ allowed_push_host: https://rubygems.org
48
+ homepage_uri: https://github.com/main-branch/main_branch_shared_rubocop_config
49
+ source_code_uri: https://github.com/main-branch/main_branch_shared_rubocop_config
50
+ post_install_message:
51
+ rdoc_options: []
52
+ require_paths:
53
+ - lib
54
+ required_ruby_version: !ruby/object:Gem::Requirement
55
+ requirements:
56
+ - - ">="
57
+ - !ruby/object:Gem::Version
58
+ version: 3.0.0
59
+ required_rubygems_version: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: '0'
64
+ requirements: []
65
+ rubygems_version: 3.5.16
66
+ signing_key:
67
+ specification_version: 4
68
+ summary: Shared Rubocop configuration for the main-branch organization
69
+ test_files: []