floss_funding 1.0.0.pre.alpha.1 → 1.0.0.pre.alpha.2
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +15 -2
- data/CITATION.cff +20 -0
- data/README.md +5 -6
- data/REEK +111 -0
- data/RUBOCOP.md +60 -0
- data/base.txt +2400 -0
- data/lib/floss_funding/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +15 -5
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5e1383e87ce894cd049a31d50223a90d4a8892f156e0ac2aaf70e23b2b69c72e
|
4
|
+
data.tar.gz: c6ec56d60aad6f9a9d9ba4e96a64d8a80cd84d05f743175264c229274e93b149
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 35134a247fa7847f546255ad276a8547cea0953d2308820639e662d571065b1d8a4dda4610efa91c6e91107419a24014f244474b9926a07f4cc71f8daff4c2b0
|
7
|
+
data.tar.gz: 0cb29346ceadd887594fb7b1b223a166a391fb56b2e85cbcb6c3cb351ec3d68d7bc234f77faeed73d0b220ab7ee0becec8d6aafadefc8601ec69bc0d6c420655
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGELOG.md
CHANGED
@@ -12,7 +12,18 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
|
|
12
12
|
### Fixed
|
13
13
|
### Security
|
14
14
|
|
15
|
-
## [1.0.0-alpha.
|
15
|
+
## [1.0.0-alpha.2] - 2025-08-10
|
16
|
+
- TAG: [v1.0.0-alpha.2][1.0.0-alpha.2t]
|
17
|
+
- COVERAGE: 100.00% -- 263/263 lines in 6 files
|
18
|
+
- BRANCH COVERAGE: 100.00% -- 85/85 branches in 6 files
|
19
|
+
- 100.00% documented
|
20
|
+
### Added
|
21
|
+
- More documentation
|
22
|
+
### Fixed
|
23
|
+
- Required `base.txt` added to gem package
|
24
|
+
- Documentation typos
|
25
|
+
|
26
|
+
## [1.0.0-alpha.1] - 2025-08-10
|
16
27
|
- TAG: [v1.0.0-alpha.1][1.0.0-alpha.1t]
|
17
28
|
- COVERAGE: 100.00% -- 262/262 lines in 6 files
|
18
29
|
- BRANCH COVERAGE: 100.00% -- 85/85 branches in 6 files
|
@@ -20,6 +31,8 @@ and this project adheres to [Semantic Versioning v2](https://semver.org/spec/v2.
|
|
20
31
|
### Added
|
21
32
|
- Initial release
|
22
33
|
|
23
|
-
[Unreleased]: https://gitlab.com/galtzo-floss/floss_funding/-/compare/v1.0.0-alpha.1...main
|
34
|
+
[Unreleased]: https://gitlab.com/galtzo-floss/floss_funding/-/compare/v1.0.0-v1.0.0-alpha.1...main
|
35
|
+
[1.0.0-alpha.2]: https://gitlab.com/galtzo-floss/floss_funding/-/compare/v1.0.0-alpha.1...v1.0.0-alpha.2
|
36
|
+
[1.0.0-alpha.2t]: https://gitlab.com/galtzo-floss/floss_funding/-/tags/v1.0.0-alpha.1
|
24
37
|
[1.0.0-alpha.1]: https://gitlab.com/galtzo-floss/floss_funding/-/compare/389ece6fb9bd04013d11edca6fb6830139a84f4c...v1.0.0-alpha.1
|
25
38
|
[1.0.0-alpha.1t]: https://gitlab.com/galtzo-floss/floss_funding/-/tags/v1.0.0-alpha.1
|
data/CITATION.cff
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
cff-version: 1.2.0
|
2
|
+
title: FlossFunding
|
3
|
+
message: >-
|
4
|
+
If you use this work and you want to cite it,
|
5
|
+
then you can use the metadata from this file.
|
6
|
+
type: software
|
7
|
+
authors:
|
8
|
+
- given-names: Peter Hurn
|
9
|
+
family-names: Boling
|
10
|
+
email: peter@railsbling.com
|
11
|
+
affiliation: railsbling.com
|
12
|
+
orcid: 'https://orcid.org/0009-0008-8519-441X'
|
13
|
+
identifiers:
|
14
|
+
- type: url
|
15
|
+
value: 'https://github.com/galtzo-floss/floss_funding/'
|
16
|
+
description: FlossFunding
|
17
|
+
repository-code: 'https://github.com/galtzo-floss/floss_funding/'
|
18
|
+
abstract: >-
|
19
|
+
FlossFunding
|
20
|
+
license: See license file
|
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
[🖼️galtzo-i]: https://logos.galtzo.com/assets/images/galtzo-floss/avatar-192px.svg
|
4
4
|
[🖼️galtzo-discord]: https://discord.gg/3qme4XHNKN
|
5
5
|
[🖼️ruby-lang-i]: https://logos.galtzo.com/assets/images/ruby-lang/avatar-192px.svg
|
6
|
-
[🖼️ruby-lang]: https://
|
6
|
+
[🖼️ruby-lang]: https://www.ruby-lang.org/
|
7
7
|
[🖼️floss_funding-i]: https://logos.galtzo.com/assets/images/galtzo-floss/floss_funding/avatar-192px.svg
|
8
8
|
[🖼️floss_funding]: https://github.com/galtzo-floss/floss_funding
|
9
9
|
|
@@ -51,7 +51,7 @@ It has been my experience that work on the dark underbelly of software, down in
|
|
51
51
|
|
52
52
|
This tool makes it far easier to get paid for your work down there at the bottom of the stack, in the dev dependencies that get overlooked by most OSS funding tools.
|
53
53
|
|
54
|
-
Activation keys use a cipher encryption algorithm against a 2400-word dictionary to make valid activation keys slightly difficult to discover manually. The activation keys are _opaque_, rather than _private_. They are not tied to you in any way. Other people may use the same one. And that's fine! They don't do anything except silence some STDOUT nagging.
|
54
|
+
Activation keys use a cipher encryption algorithm against a 2400-word dictionary, with some other data, like the project's namespace, and the current month, thrown in, to make valid activation keys slightly difficult to discover manually. Once a key is made it is valid forever. There is no revocation. The activation keys are _opaque_, rather than _private_. They are not tied to you in any way. Other people may use the same one. And that's fine! They don't do anything except silence some STDOUT nagging.
|
55
55
|
|
56
56
|
## TO DO List
|
57
57
|
|
@@ -140,7 +140,7 @@ If bundler is not being used to manage dependencies, install the gem by executin
|
|
140
140
|
<details>
|
141
141
|
<summary>For Medium or High Security Installations</summary>
|
142
142
|
|
143
|
-
|
143
|
+
This gem is cryptographically signed, and has verifiable [SHA-256 and SHA-512][💎SHA_checksums] checksums by
|
144
144
|
[stone_checksums][💎stone_checksums]. Be sure the gem you install hasn’t been tampered with
|
145
145
|
by following the instructions below.
|
146
146
|
|
@@ -180,7 +180,6 @@ module MyGemLibrary
|
|
180
180
|
include FlossFunding::Poke.new(__FILE__)
|
181
181
|
end
|
182
182
|
```
|
183
|
-
|
184
183
|
2. Arbitrary custom namespace (can add version, or anything else):
|
185
184
|
```ruby
|
186
185
|
module MyGemLibrary
|
@@ -198,7 +197,7 @@ The following options can be configured in the `.floss_funding.yml` file:
|
|
198
197
|
|
199
198
|
1. `suggested_donation_amount` - The suggested donation amount to display in the begging message (default: 5)
|
200
199
|
2. `floss_funding_url` - The URL to direct users to for donations or sponsorship
|
201
|
-
a. default: https://floss-funding.dev, which doesn't take donations on behalf of other projects,
|
200
|
+
a. default: https://floss-funding.dev, which doesn't take donations on behalf of other projects, but it will have helpful tips on how to find a way to donate.
|
202
201
|
|
203
202
|
### Example Configuration
|
204
203
|
|
@@ -216,7 +215,7 @@ See [SECURITY.md][🔐security].
|
|
216
215
|
## 🤝 Contributing
|
217
216
|
|
218
217
|
If you need some ideas of where to help, you could work on adding more code coverage,
|
219
|
-
or if it is already 💯 (see [below](#code-coverage)) check [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
|
218
|
+
or if it is already 💯 (see [below](#code-coverage)) check [reek](REEK), [issues][🤝gh-issues], or [PRs][🤝gh-pulls],
|
220
219
|
or use the gem and think about how it could be better.
|
221
220
|
|
222
221
|
We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
|
data/REEK
ADDED
@@ -0,0 +1,111 @@
|
|
1
|
+
lib/floss_funding/check.rb -- 15 warnings:
|
2
|
+
[39]:Attribute: FlossFunding::Check::ClassMethods#now_time is a writable attribute [https://github.com/troessner/reek/blob/v6.5.0/docs/Attribute.md]
|
3
|
+
[65]:ControlParameter: FlossFunding::Check::ClassMethods#check_unpaid_silence is controlled by argument 'activation_key' [https://github.com/troessner/reek/blob/v6.5.0/docs/Control-Parameter.md]
|
4
|
+
[47, 64, 105, 163]:DataClump: FlossFunding::Check::ClassMethods takes parameters ['activation_key', 'namespace'] to 4 methods [https://github.com/troessner/reek/blob/v6.5.0/docs/Data-Clump.md]
|
5
|
+
[105, 163, 191]:DataClump: FlossFunding::Check::ClassMethods takes parameters ['env_var_name', 'namespace'] to 3 methods [https://github.com/troessner/reek/blob/v6.5.0/docs/Data-Clump.md]
|
6
|
+
[114, 131]:DuplicateMethodCall: FlossFunding::Check::ClassMethods#floss_funding_initiate_begging calls '::FlossFunding.add_activated(namespace)' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
7
|
+
[115, 132]:DuplicateMethodCall: FlossFunding::Check::ClassMethods#floss_funding_initiate_begging calls '::FlossFunding.add_activation_occurrence(namespace)' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
8
|
+
[108, 122, 137]:DuplicateMethodCall: FlossFunding::Check::ClassMethods#floss_funding_initiate_begging calls '::FlossFunding.add_unactivated(namespace)' 3 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
9
|
+
[109, 138]:DuplicateMethodCall: FlossFunding::Check::ClassMethods#floss_funding_initiate_begging calls 'start_begging(namespace, env_var_name)' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
10
|
+
[154, 154]:DuplicateMethodCall: FlossFunding::Check::ClassMethods#now_month calls 'ClassMethods.now_time' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
11
|
+
[91, 92, 94]:FeatureEnvy: FlossFunding::Check::ClassMethods#check_activation refers to 'words' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/v6.5.0/docs/Feature-Envy.md]
|
12
|
+
[91]:ManualDispatch: FlossFunding::Check::ClassMethods#check_activation manually dispatches method call [https://github.com/troessner/reek/blob/v6.5.0/docs/Manual-Dispatch.md]
|
13
|
+
[105]:TooManyStatements: FlossFunding::Check::ClassMethods#floss_funding_initiate_begging has approx 14 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
14
|
+
[52]:UncommunicativeVariableName: FlossFunding::Check::ClassMethods#floss_funding_decrypt has the variable name 's' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
15
|
+
[47]:UtilityFunction: FlossFunding::Check::ClassMethods#floss_funding_decrypt doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/v6.5.0/docs/Utility-Function.md]
|
16
|
+
[153]:UtilityFunction: FlossFunding::Check::ClassMethods#now_month doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/v6.5.0/docs/Utility-Function.md]
|
17
|
+
lib/floss_funding/config.rb -- 16 warnings:
|
18
|
+
[131, 141]:DuplicateMethodCall: FlossFunding::Config#find_config_file calls 'File.dirname(current_dir)' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
19
|
+
[116, 126]:DuplicateMethodCall: FlossFunding::Config#find_config_file calls 'File.dirname(start_dir)' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
20
|
+
[129, 139]:DuplicateMethodCall: FlossFunding::Config#find_config_file calls 'File.exist?(candidate)' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
21
|
+
[128, 138]:DuplicateMethodCall: FlossFunding::Config#find_config_file calls 'File.join(current_dir, CONFIG_FILE_NAME)' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
22
|
+
[127, 137]:DuplicateMethodCall: FlossFunding::Config#find_config_file calls 'current_dir != "/"' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
23
|
+
[76, 76, 77, 78]:DuplicateMethodCall: FlossFunding::Config#load_config calls 'gemspec_data[:funding_uri]' 4 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
24
|
+
[74, 74]:DuplicateMethodCall: FlossFunding::Config#load_config calls 'gemspec_data[:homepage]' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
25
|
+
[91, 92, 93]:DuplicateMethodCall: FlossFunding::Config#load_config calls 'merged[key]' 3 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
26
|
+
[76, 78]:DuplicateMethodCall: FlossFunding::Config#load_config calls 'normalize_to_array(gemspec_data[:funding_uri])' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
27
|
+
[125]:NilCheck: FlossFunding::Config#find_config_file performs a nil-check [https://github.com/troessner/reek/blob/v6.5.0/docs/Nil-Check.md]
|
28
|
+
[209]:NilCheck: FlossFunding::Config#normalize_to_array performs a nil-check [https://github.com/troessner/reek/blob/v6.5.0/docs/Nil-Check.md]
|
29
|
+
[107]:TooManyStatements: FlossFunding::Config#find_config_file has approx 17 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
30
|
+
[46]:TooManyStatements: FlossFunding::Config#load_config has approx 26 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
31
|
+
[185]:TooManyStatements: FlossFunding::Config#read_gemspec_data has approx 8 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
32
|
+
[60]:UncommunicativeVariableName: FlossFunding::Config#load_config has the variable name 'k' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
33
|
+
[60]:UncommunicativeVariableName: FlossFunding::Config#load_config has the variable name 'v' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
34
|
+
lib/floss_funding/poke.rb -- 9 warnings:
|
35
|
+
[79, 89]:DuplicateMethodCall: FlossFunding::Poke#setup_begging calls '!custom_namespace.empty?' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
36
|
+
[63, 63, 82, 87]:DuplicateMethodCall: FlossFunding::Poke#setup_begging calls 'base.name' 4 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
37
|
+
[86, 87, 91]:DuplicateMethodCall: FlossFunding::Poke#setup_begging calls 'config["base_namespaces"]' 3 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
38
|
+
[88, 89, 92]:DuplicateMethodCall: FlossFunding::Poke#setup_begging calls 'config["custom_namespaces"]' 3 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
39
|
+
[79, 89]:DuplicateMethodCall: FlossFunding::Poke#setup_begging calls 'custom_namespace.empty?' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
40
|
+
[59]:LongParameterList: FlossFunding::Poke#setup_begging has 4 parameters [https://github.com/troessner/reek/blob/v6.5.0/docs/Long-Parameter-List.md]
|
41
|
+
[63]:ManualDispatch: FlossFunding::Poke#setup_begging manually dispatches method call [https://github.com/troessner/reek/blob/v6.5.0/docs/Manual-Dispatch.md]
|
42
|
+
[59]:TooManyStatements: FlossFunding::Poke#setup_begging has approx 18 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
43
|
+
[30]:UnusedParameters: FlossFunding::Poke#included has unused parameter 'base' [https://github.com/troessner/reek/blob/v6.5.0/docs/Unused-Parameters.md]
|
44
|
+
lib/floss_funding/under_bar.rb -- 2 warnings:
|
45
|
+
[32]:TooManyStatements: FlossFunding::UnderBar#env_variable_name has approx 7 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
46
|
+
[47]:TooManyStatements: FlossFunding::UnderBar#to_under_bar has approx 6 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
47
|
+
lib/floss_funding.rb -- 6 warnings:
|
48
|
+
[139, 140, 141]:DuplicateMethodCall: FlossFunding#set_configuration calls 'merged[k]' 3 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
49
|
+
[184, 189]:NilCheck: FlossFunding#base_words performs a nil-check [https://github.com/troessner/reek/blob/v6.5.0/docs/Nil-Check.md]
|
50
|
+
[15]:TooManyConstants: FlossFunding has 8 constants [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Constants.md]
|
51
|
+
[183]:TooManyStatements: FlossFunding#base_words has approx 8 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
52
|
+
[131]:TooManyStatements: FlossFunding#set_configuration has approx 10 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
53
|
+
[137]:UncommunicativeVariableName: FlossFunding#set_configuration has the variable name 'k' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
54
|
+
spec/fixtures/custom_test.rb -- 1 warning:
|
55
|
+
[5]:IrresponsibleModule: CustomTest::InnerModule has no descriptive comment [https://github.com/troessner/reek/blob/v6.5.0/docs/Irresponsible-Module.md]
|
56
|
+
spec/fixtures/end_hook_script.rb -- 2 warnings:
|
57
|
+
[21]:IrresponsibleModule: OtherTest::InnerModule has no descriptive comment [https://github.com/troessner/reek/blob/v6.5.0/docs/Irresponsible-Module.md]
|
58
|
+
[15]:IrresponsibleModule: TraditionalTest::InnerModule has no descriptive comment [https://github.com/troessner/reek/blob/v6.5.0/docs/Irresponsible-Module.md]
|
59
|
+
spec/fixtures/traditional_test.rb -- 1 warning:
|
60
|
+
[5]:IrresponsibleModule: TraditionalTest::InnerModule has no descriptive comment [https://github.com/troessner/reek/blob/v6.5.0/docs/Irresponsible-Module.md]
|
61
|
+
spec/floss_funding/bench_fixtures_spec.rb -- 5 warnings:
|
62
|
+
[30]:ManualDispatch: enabled_count manually dispatches method call [https://github.com/troessner/reek/blob/v6.5.0/docs/Manual-Dispatch.md]
|
63
|
+
[18]:TooManyStatements: load_with_groups has approx 6 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
64
|
+
[27]:UncommunicativeVariableName: enabled_count has the variable name 'i' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
65
|
+
[21, 22]:UncommunicativeVariableName: load_with_groups has the variable name 'g' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
66
|
+
[10]:UncommunicativeVariableName: remove_bench_constants has the variable name 'i' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
67
|
+
spec/floss_funding/bench_integration_spec.rb -- 24 warnings:
|
68
|
+
[53]:BooleanParameter: build_activation_env has boolean parameter 'unpaid' [https://github.com/troessner/reek/blob/v6.5.0/docs/Boolean-Parameter.md]
|
69
|
+
[65]:ControlParameter: build_activation_env is controlled by argument 'unpaid' [https://github.com/troessner/reek/blob/v6.5.0/docs/Control-Parameter.md]
|
70
|
+
[59, 65]:DuplicateMethodCall: build_activation_env calls 'env_var_for(row[:namespace])' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
71
|
+
[58, 63]:DuplicateMethodCall: build_activation_env calls 'keys_rows.each' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
72
|
+
[59, 64, 65]:DuplicateMethodCall: build_activation_env calls 'row[:namespace]' 3 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
73
|
+
[59, 64, 65, 65]:FeatureEnvy: build_activation_env refers to 'row' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/v6.5.0/docs/Feature-Envy.md]
|
74
|
+
[86, 100, 101]:FeatureEnvy: set_percentage_env refers to 'percentage' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/v6.5.0/docs/Feature-Envy.md]
|
75
|
+
[121]:LongParameterList: bench_step has 5 parameters [https://github.com/troessner/reek/blob/v6.5.0/docs/Long-Parameter-List.md]
|
76
|
+
[53]:LongParameterList: build_activation_env has 4 parameters [https://github.com/troessner/reek/blob/v6.5.0/docs/Long-Parameter-List.md]
|
77
|
+
[117]:ManualDispatch: enabled_count manually dispatches method call [https://github.com/troessner/reek/blob/v6.5.0/docs/Manual-Dispatch.md]
|
78
|
+
[35]:TooManyStatements: activated_bench_namespaces_for_percentage has approx 8 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
79
|
+
[121]:TooManyStatements: bench_step has approx 9 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
80
|
+
[53]:TooManyStatements: build_activation_env has approx 8 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
81
|
+
[16]:TooManyStatements: parsed_keys has approx 6 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
82
|
+
[85]:TooManyStatements: set_percentage_env has approx 9 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
83
|
+
[47]:UncommunicativeVariableName: activated_bench_namespaces_for_percentage has the variable name 'i' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
84
|
+
[114]:UncommunicativeVariableName: enabled_count has the variable name 'i' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
85
|
+
[20]:UncommunicativeVariableName: parsed_keys has the variable name 'k2025' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
86
|
+
[20]:UncommunicativeVariableName: parsed_keys has the variable name 'k5425' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
87
|
+
[74]:UncommunicativeVariableName: remove_bench_constants has the variable name 'i' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
88
|
+
[89]:UncommunicativeVariableName: set_percentage_env has the variable name 'g' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
89
|
+
[121]:UnusedParameters: bench_step has unused parameter 'options' [https://github.com/troessner/reek/blob/v6.5.0/docs/Unused-Parameters.md]
|
90
|
+
[27]:UtilityFunction: env_var_for doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/v6.5.0/docs/Utility-Function.md]
|
91
|
+
[16]:UtilityFunction: parsed_keys doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/v6.5.0/docs/Utility-Function.md]
|
92
|
+
spec/floss_funding/non_gem_fixtures_spec.rb -- 3 warnings:
|
93
|
+
[30, 30]:DuplicateMethodCall: remove_fixture_constants calls 'fx[:name]' 2 times [https://github.com/troessner/reek/blob/v6.5.0/docs/Duplicate-Method-Call.md]
|
94
|
+
[30, 30]:FeatureEnvy: remove_fixture_constants refers to 'fx' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/v6.5.0/docs/Feature-Envy.md]
|
95
|
+
[24]:UtilityFunction: env_var_for doesn't depend on instance state (maybe move it to another class?) [https://github.com/troessner/reek/blob/v6.5.0/docs/Utility-Function.md]
|
96
|
+
spec/floss_funding/poke_spec.rb -- 1 warning:
|
97
|
+
[77]:IrresponsibleModule: DirectIncludeTest has no descriptive comment [https://github.com/troessner/reek/blob/v6.5.0/docs/Irresponsible-Module.md]
|
98
|
+
spec/support/bench_gems_generator.rb -- 5 warnings:
|
99
|
+
[6]:IrresponsibleModule: FlossFunding::BenchGemsGenerator has no descriptive comment [https://github.com/troessner/reek/blob/v6.5.0/docs/Irresponsible-Module.md]
|
100
|
+
[24]:TooManyStatements: FlossFunding::BenchGemsGenerator#generate_one has approx 14 statements [https://github.com/troessner/reek/blob/v6.5.0/docs/Too-Many-Statements.md]
|
101
|
+
[24]:UncommunicativeParameterName: FlossFunding::BenchGemsGenerator#generate_one has the parameter name 'i' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Parameter-Name.md]
|
102
|
+
[19]:UncommunicativeVariableName: FlossFunding::BenchGemsGenerator#generate_all has the variable name 'i' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
103
|
+
[13]:UncommunicativeVariableName: FlossFunding::BenchGemsGenerator#namespaces has the variable name 'i' [https://github.com/troessner/reek/blob/v6.5.0/docs/Uncommunicative-Variable-Name.md]
|
104
|
+
.yard_gfm_support.rb -- 1 warning:
|
105
|
+
[9, 9]:FeatureEnvy: KramdownGfmDocument#initialize refers to 'options' more than self (maybe move it to another class?) [https://github.com/troessner/reek/blob/v6.5.0/docs/Feature-Envy.md]
|
106
|
+
test/debug_check.rb -- 1 warning:
|
107
|
+
[12]:IrresponsibleModule: TestModule::InnerModule has no descriptive comment [https://github.com/troessner/reek/blob/v6.5.0/docs/Irresponsible-Module.md]
|
108
|
+
test/test_poke_patterns.rb -- 2 warnings:
|
109
|
+
[18]:IrresponsibleModule: CustomTest::InnerModule has no descriptive comment [https://github.com/troessner/reek/blob/v6.5.0/docs/Irresponsible-Module.md]
|
110
|
+
[10]:IrresponsibleModule: TraditionalTest::InnerModule has no descriptive comment [https://github.com/troessner/reek/blob/v6.5.0/docs/Irresponsible-Module.md]
|
111
|
+
94 total warnings
|
data/RUBOCOP.md
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# RuboCop Usage Guide
|
2
|
+
|
3
|
+
## Overview
|
4
|
+
|
5
|
+
A tale of two RuboCop plugin gems.
|
6
|
+
|
7
|
+
### RuboCop Gradual
|
8
|
+
|
9
|
+
This project uses `rubocop_gradual` instead of vanilla RuboCop for code style checking. The `rubocop_gradual` tool allows for gradual adoption of RuboCop rules by tracking violations in a lock file.
|
10
|
+
|
11
|
+
### RuboCop LTS
|
12
|
+
|
13
|
+
This project uses `rubocop-lts` to ensure, on a best-effort basis, compatibility with Ruby >= 1.9.2.
|
14
|
+
RuboCop rules are meticulously configured by the `rubocop-lts` family of gems to ensure that a project is compatible with a specific version of Ruby. See: https://rubocop-lts.gitlab.io for more.
|
15
|
+
|
16
|
+
## Checking RuboCop Violations
|
17
|
+
|
18
|
+
To check for RuboCop violations in this project, always use:
|
19
|
+
|
20
|
+
```bash
|
21
|
+
bundle exec rake rubocop_gradual:check
|
22
|
+
```
|
23
|
+
|
24
|
+
**Do not use** the standard RuboCop commands like:
|
25
|
+
- `bundle exec rubocop`
|
26
|
+
- `rubocop`
|
27
|
+
|
28
|
+
## Understanding the Lock File
|
29
|
+
|
30
|
+
The `.rubocop_gradual.lock` file tracks all current RuboCop violations in the project. This allows the team to:
|
31
|
+
|
32
|
+
1. Prevent new violations while gradually fixing existing ones
|
33
|
+
2. Track progress on code style improvements
|
34
|
+
3. Ensure CI builds don't fail due to pre-existing violations
|
35
|
+
|
36
|
+
## Common Commands
|
37
|
+
|
38
|
+
- **Check violations**
|
39
|
+
- `bundle exec rake rubocop_gradual`
|
40
|
+
- `bundle exec rake rubocop_gradual:check`
|
41
|
+
- **(Safe) Autocorrect violations, and update lockfile if no new violations**
|
42
|
+
- `bundle exec rake rubocop_gradual:autocorrect`
|
43
|
+
- **Force update the lock file (w/o autocorrect) to match violations present in code**
|
44
|
+
- `bundle exec rake rubocop_gradual:force_update`
|
45
|
+
|
46
|
+
## Workflow
|
47
|
+
|
48
|
+
1. Before submitting a PR, run `bundle exec rake rubocop_gradual:autocorrect`
|
49
|
+
a. or just the default `bundle exec rake`, as autocorrection is a pre-requisite of the default task.
|
50
|
+
2. If there are new violations, either:
|
51
|
+
- Fix them in your code
|
52
|
+
- Run `bundle exec rake rubocop_gradual:force_update` to update the lock file (only for violations you can't fix immediately)
|
53
|
+
3. Commit the updated `.rubocop_gradual.lock` file along with your changes
|
54
|
+
|
55
|
+
## Benefits of rubocop_gradual
|
56
|
+
|
57
|
+
- Allows incremental adoption of code style rules
|
58
|
+
- Prevents CI failures due to pre-existing violations
|
59
|
+
- Provides a clear record of code style debt
|
60
|
+
- Enables focused efforts on improving code quality over time
|