skunk 0.5.1 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/main.yml +15 -0
- data/.reek.yml +1 -0
- data/.rubocop_todo.yml +2 -9
- data/CHANGELOG.md +48 -37
- data/README.md +13 -3
- data/fastruby-logo.png +0 -0
- data/lib/skunk/cli/application.rb +4 -2
- data/lib/skunk/cli/commands/help.rb +4 -0
- data/lib/skunk/cli/commands/shareable.rb +6 -0
- data/lib/skunk/cli/commands/status_reporter.rb +1 -1
- data/lib/skunk/cli/commands/status_sharer.rb +2 -0
- data/lib/skunk/cli/commands/version.rb +12 -6
- data/lib/skunk/cli/options/argv.rb +1 -1
- data/lib/skunk/rubycritic/analysed_module.rb +2 -0
- data/lib/skunk/version.rb +1 -1
- data/pull_request_template.md +11 -0
- data/skunk.gemspec +2 -2
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97336bcac813e609a69fe0782edbd188a72cc24919cd5ded18b9b3515bebfecb
|
4
|
+
data.tar.gz: 94a04712f97e7e36f00aedc1d046775c565714dab38fb08e698ba6196fc1981b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9996fece8b920f5de38bbd57629e9b64b78865d421a7f51011a3c63233ef60960086dfc0c73723d17bb52911b9167e624e20284cdcece502286feaa70996ee1e
|
7
|
+
data.tar.gz: 327565f1b417f77a2af14c77cb1d7d6e74057491ed154312fe189cb3997eb3526d47a6f1a73cc5600204c2aa95483f9ad117a506870128b8fcb8b85380cdca0d
|
data/.github/workflows/main.yml
CHANGED
@@ -87,3 +87,18 @@ jobs:
|
|
87
87
|
gem install bundler
|
88
88
|
bundle install --jobs 4 --retry 3
|
89
89
|
bundle exec rake
|
90
|
+
test-ruby-3-1-x:
|
91
|
+
runs-on: ubuntu-latest
|
92
|
+
|
93
|
+
steps:
|
94
|
+
- uses: actions/checkout@v1
|
95
|
+
- name: Setup Ruby
|
96
|
+
uses: ruby/setup-ruby@v1
|
97
|
+
with:
|
98
|
+
ruby-version: 3.1
|
99
|
+
bundler-cache: true
|
100
|
+
- name: Build and run tests
|
101
|
+
run: |
|
102
|
+
gem install bundler
|
103
|
+
bundle install --jobs 4 --retry 3
|
104
|
+
bundle exec rake
|
data/.reek.yml
CHANGED
data/.rubocop_todo.yml
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# This configuration was generated by
|
2
2
|
# `rubocop --auto-gen-config`
|
3
|
-
# on 2021-
|
3
|
+
# on 2021-08-31 01:33:08 UTC using RuboCop version 1.9.1.
|
4
4
|
# The point is for the user to remove these configuration records
|
5
5
|
# one by one as the offenses are removed from the code base.
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
@@ -26,13 +26,6 @@ Layout/HeredocIndentation:
|
|
26
26
|
Exclude:
|
27
27
|
- 'lib/skunk/cli/commands/status_reporter.rb'
|
28
28
|
|
29
|
-
# Offense count: 1
|
30
|
-
# Configuration parameters: AllowedMethods.
|
31
|
-
# AllowedMethods: enums
|
32
|
-
Lint/ConstantDefinitionInBlock:
|
33
|
-
Exclude:
|
34
|
-
- 'test/lib/skunk/cli/commands/help_test.rb'
|
35
|
-
|
36
29
|
# Offense count: 2
|
37
30
|
Lint/MissingSuper:
|
38
31
|
Exclude:
|
@@ -48,7 +41,7 @@ Metrics/AbcSize:
|
|
48
41
|
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
|
49
42
|
# IgnoredMethods: refine
|
50
43
|
Metrics/BlockLength:
|
51
|
-
Max:
|
44
|
+
Max: 76
|
52
45
|
|
53
46
|
# Offense count: 2
|
54
47
|
# Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
|
data/CHANGELOG.md
CHANGED
@@ -5,52 +5,63 @@ All notable changes to this project will be documented in this file.
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
7
7
|
|
8
|
-
##
|
8
|
+
## main [(unreleased)](https://github.com/fastruby/skunk/compare/v0.5.2...HEAD)
|
9
9
|
|
10
|
-
|
10
|
+
* <INSERT YOUR FEATURE OR BUGFIX HERE>
|
11
|
+
## v0.5.2 / 2022-04-27 [(commits)](https://github.com/fastruby/skunk/compare/v0.5.1...v0.5.2)
|
11
12
|
|
12
|
-
* [
|
13
|
+
* [FEATURE: Support more rubies](https://github.com/fastruby/skunk/pull/92)
|
14
|
+
* [BUGFIX: Fixed share issue with version command](https://github.com/fastruby/skunk/pull/83)
|
15
|
+
* [FEATURE: Add PR Template](https://github.com/fastruby/skunk/pull/72)
|
16
|
+
* [BUGFIX: Fix Sponsorship logo path in README](https://github.com/fastruby/skunk/pull/73)
|
17
|
+
* [BUGFIX: Test with Ruby 3.1](https://github.com/fastruby/skunk/pull/85)
|
18
|
+
* [BUGFIX: Fix changelog uri](https://github.com/fastruby/skunk/pull/90)
|
13
19
|
|
14
|
-
##
|
20
|
+
## v0.5.1 / 2021-02-17 [(commits)](https://github.com/fastruby/skunk/compare/v0.5.0...v0.5.1)
|
15
21
|
|
16
|
-
* [
|
17
|
-
* [FEATURE] Rename the tech debt metric: StinkScore => SkunkScore. It's a little friendlier.
|
18
|
-
* [FEATURE] Add `--out=file.txt` support to the command line (by [@manuca]())
|
19
|
-
* [BUGFIX] Skip both nested and top level spec and test folders
|
22
|
+
* [BUGFIX: Fix bug related to compare plus share code](https://github.com/fastruby/skunk/pull/69)
|
20
23
|
|
21
|
-
##
|
22
|
-
* [BUGFIX] Fixes table width issues by rounding values (by [@etagwerker]())
|
24
|
+
## v0.5.0 / 2020-09-18 [(commits)](https://github.com/fastruby/skunk/compare/v0.4.2...v0.5.0)
|
23
25
|
|
24
|
-
|
25
|
-
* [
|
26
|
+
* [FEATURE: Share your results using an environment variable](https://github.com/fastruby/skunk/pull/56)
|
27
|
+
* [FEATURE: Rename the tech debt metric: StinkScore => SkunkScore. It's a little friendlier.](https://github.com/fastruby/skunk/pull/36)
|
28
|
+
* [FEATURE: Add `--out=file.txt` support to the command line](https://github.com/fastruby/skunk/pull/47)
|
29
|
+
* [BUGFIX: Skip both nested and top level spec and test folders](https://github.com/fastruby/skunk/pull/65)
|
26
30
|
|
27
|
-
##
|
28
|
-
* [FEATURE] Add `--version` support to the command line. (by [@bronzdoc]())
|
29
|
-
* [FEATURE] Stop accepting `-p <path>` in the command line. It's redundant and it's not working anyway. (by [@etagwerker]())
|
30
|
-
* [BUGFIX] Change "StinkScore" formula to skip `churn_times_cost` (by [@etagwerker]())
|
31
|
-
* [BUGFIX] Fixes #12 (by [@sebastian-palma]())
|
31
|
+
## v0.4.2 / 2020-02-09 [(commits)](https://github.com/fastruby/skunk/compare/v0.4.1...v0.4.2)
|
32
32
|
|
33
|
-
|
34
|
-
### Changed
|
35
|
-
* [BUGFIX] Change "StinkScore" formula to skip `churn_times_cost` (by [@etagwerker]())
|
33
|
+
* [BUGFIX: Fixes table width issues by rounding values](https://github.com/fastruby/skunk/commit/80e2e4743bcb79619f9bb5aed9808bac1ca78231)
|
36
34
|
|
37
|
-
##
|
38
|
-
### Changed
|
39
|
-
* [BUGFIX] Change "StinkScore" formula to skip `churn_times_cost` (by [@etagwerker]())
|
35
|
+
## v0.4.1 / 2020-02-09 [(commits)](https://github.com/fastruby/skunk/compare/v0.4.0...v0.4.1)
|
40
36
|
|
41
|
-
|
42
|
-
### Changed
|
43
|
-
* [FEATURE] Added Travis CI badge to README (by [@themayurkumbhar]())
|
44
|
-
* [FEATURE] Now you can compare "StinkScore" between branches (by [@etagwerker]())
|
45
|
-
* [BUGFIX] Add contributor covenant doc (by [@etagwerker]())
|
46
|
-
* [BUGFIX] Make sure tests work even you don't have a `coverage/.resultset.json` file (by [@etagwerker]())
|
47
|
-
* [BUGFIX] Make tests easier to maintain (by [@etagwerker]())
|
37
|
+
* [BUGFIX: Fixes table width issues](https://github.com/fastruby/skunk/commit/372bc506f408e3647ce48b7bc149234c9da71168)
|
48
38
|
|
49
|
-
##
|
50
|
-
### Changed
|
51
|
-
- [FEATURE] Now `skunk` will not report status for files that start with `test/` or `spec/` (by [@etagwerker]())
|
39
|
+
## v0.4.0 / 2020-02-08 [(commits)](https://github.com/fastruby/skunk/compare/v0.3.2...v0.4.0)
|
52
40
|
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
41
|
+
* [FEATURE: Add `--version` support to the command line.](https://github.com/fastruby/skunk/pull/18)
|
42
|
+
* [FEATURE: Stop accepting `-p <path>` in the command line. It's redundant and it's not working anyway.](https://github.com/fastruby/skunk/commit/40976c65a1176b47d3b67f75cd7b4ec92d7c4c88)
|
43
|
+
* [BUGFIX: Create compare_root_directory when it does not exist](https://github.com/fastruby/skunk/pull/23) (#12)
|
44
|
+
|
45
|
+
## v0.3.2 / 2019-11-23 [(commits)](https://github.com/fastruby/skunk/compare/v0.3.1...v0.3.2)
|
46
|
+
|
47
|
+
* [BUGFIX: Make variable binding friendly to avoid warning](https://github.com/fastruby/skunk/pull/20)
|
48
|
+
|
49
|
+
## v0.3.1 / 2019-11-19 [(commits)](https://github.com/fastruby/skunk/compare/v0.3.0...v0.3.1)
|
50
|
+
|
51
|
+
* [BUGFIX: Change "StinkScore" formula to skip `churn_times_cost`](https://github.com/fastruby/skunk/pull/14)
|
52
|
+
|
53
|
+
## v0.3.0 / 2019-11-19 [(commits)](https://github.com/fastruby/skunk/compare/v0.2.0...v0.3.0)
|
54
|
+
|
55
|
+
* [FEATURE: Added Travis CI badge to README](https://github.com/fastruby/skunk/pull/3)
|
56
|
+
* [FEATURE: Now you can compare "StinkScore" between branches](https://github.com/fastruby/skunk/pull/11)
|
57
|
+
* [BUGFIX Add contributor covenant doc](https://github.com/fastruby/skunk/commit/c765a6406f0d53043e8d1c51309d6372196e9f94)
|
58
|
+
* [BUGFIX Make sure tests work even you don't have a `coverage/.resultset.json` file](https://github.com/fastruby/skunk/pull/7)
|
59
|
+
* [BUGFIX: Make tests easier to maintain](https://github.com/fastruby/skunk/pull/10)
|
60
|
+
|
61
|
+
## v0.2.0 / 2019-10-16 [(commits)](https://github.com/fastruby/skunk/compare/v0.1.0...v0.2.0)
|
62
|
+
|
63
|
+
* [FEATURE: Now `skunk` will not report status for files that start with `test/` or `spec/`](https://github.com/fastruby/skunk/commit/6f1a3c60967abb114576e71084d80e12b0f0235f) (by
|
64
|
+
|
65
|
+
## v0.1.0 / 2019-10-16
|
66
|
+
|
67
|
+
* [FEATURE: Now `skunk` uses `rubycritic-simplecov` to generate a console report with a list of files and their "StinkScore"](https://github.com/fastruby/skunk/commit/2ccc5b885b5e12135d963e779566d27d6eefa140)
|
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Skunk
|
2
2
|
|
3
|
-
![skunk](
|
3
|
+
![skunk](logo.png)
|
4
4
|
|
5
5
|
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-v1.4%20adopted-ff69b4.svg)](CODE_OF_CONDUCT.md) [![Build Status](https://travis-ci.org/fastruby/skunk.svg?branch=master)](https://travis-ci.org/fastruby/skunk) [![Maintainability](https://api.codeclimate.com/v1/badges/3e33d701ced16eee2420/maintainability)](https://codeclimate.com/github/fastruby/skunk/maintainability) [![Docs](http://img.shields.io/badge/yard-docs-blue.svg)](http://rubydoc.info/gems/skunk) [![codecov](https://codecov.io/gh/fastruby/skunk/branch/master/graph/badge.svg)](https://codecov.io/gh/fastruby/skunk)
|
6
6
|
|
@@ -225,10 +225,20 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
225
225
|
|
226
226
|
## Contributing
|
227
227
|
|
228
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/fastruby/skunk/
|
228
|
+
Bug reports and pull requests are welcome on GitHub at [https://github.com/fastruby/skunk](https://github.com/fastruby/skunk). This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/fastruby/skunk/blob/main/CODE_OF_CONDUCT.md).
|
229
|
+
|
230
|
+
When Submitting a Pull Request:
|
231
|
+
|
232
|
+
* If your PR closes any open GitHub issues, please include `Closes #XXXX` in your comment.
|
233
|
+
|
234
|
+
* Please include a summary of the change and which issue is fixed or which feature is introduced.
|
235
|
+
|
236
|
+
* If changes to the behavior are made, clearly describe what changes.
|
237
|
+
|
238
|
+
* If changes to the UI are made, please include screenshots of the before and after.
|
229
239
|
|
230
240
|
## Sponsorship
|
231
241
|
|
232
|
-
![FastRuby.io | Rails Upgrade Services](
|
242
|
+
![FastRuby.io | Rails Upgrade Services](fastruby-logo.png)
|
233
243
|
|
234
244
|
`skunk` is maintained and funded by [FastRuby.io](https://fastruby.io). The names and logos for FastRuby.io are trademarks of The Lean Software Boutique LLC.
|
data/fastruby-logo.png
CHANGED
Binary file
|
@@ -30,8 +30,10 @@ module Skunk
|
|
30
30
|
reporter = command.execute
|
31
31
|
|
32
32
|
print(reporter.status_message)
|
33
|
-
|
34
|
-
|
33
|
+
if command.sharing?
|
34
|
+
share_status_message = command.share(reporter)
|
35
|
+
print(share_status_message)
|
36
|
+
end
|
35
37
|
|
36
38
|
reporter.status
|
37
39
|
rescue OptionParser::InvalidOption => e
|
@@ -38,6 +38,7 @@ module Skunk
|
|
38
38
|
ENV["SHARE_URL"] || DEFAULT_URL
|
39
39
|
end
|
40
40
|
|
41
|
+
# rubocop:disable Style/HashSyntax
|
41
42
|
def json_summary
|
42
43
|
result = {
|
43
44
|
total_skunk_score: total_skunk_score,
|
@@ -55,6 +56,7 @@ module Skunk
|
|
55
56
|
|
56
57
|
result
|
57
58
|
end
|
59
|
+
# rubocop:enable Style/HashSyntax
|
58
60
|
|
59
61
|
def json_results
|
60
62
|
sorted_modules.map(&:to_hash)
|
@@ -4,12 +4,18 @@ require "rubycritic/commands/version"
|
|
4
4
|
|
5
5
|
# nodoc #
|
6
6
|
module Skunk
|
7
|
-
module
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
module Cli
|
8
|
+
module Command
|
9
|
+
# Shows skunk version
|
10
|
+
class Version < RubyCritic::Command::Version
|
11
|
+
def execute
|
12
|
+
print Skunk::VERSION
|
13
|
+
status_reporter
|
14
|
+
end
|
15
|
+
|
16
|
+
def sharing?
|
17
|
+
false
|
18
|
+
end
|
13
19
|
end
|
14
20
|
end
|
15
21
|
end
|
@@ -53,6 +53,7 @@ module RubyCritic
|
|
53
53
|
# - coverage
|
54
54
|
#
|
55
55
|
# @return [Hash]
|
56
|
+
# rubocop:disable Style/HashSyntax
|
56
57
|
def to_hash
|
57
58
|
{
|
58
59
|
file: pathname.to_s,
|
@@ -63,5 +64,6 @@ module RubyCritic
|
|
63
64
|
coverage: coverage.round(2)
|
64
65
|
}
|
65
66
|
end
|
67
|
+
# rubocop:enable Style/HashSyntax
|
66
68
|
end
|
67
69
|
end
|
data/lib/skunk/version.rb
CHANGED
@@ -0,0 +1,11 @@
|
|
1
|
+
**IMPORTANT**: Please read the README before submitting pull requests for this project. Additionally, if your PR closes any open GitHub issue, make sure you include Closes #XXXX in your comment.
|
2
|
+
|
3
|
+
- [ ] Add an entry to `CHANGELOG.md` that links to this PR under the "main (unreleased)" heading.
|
4
|
+
|
5
|
+
Description:
|
6
|
+
|
7
|
+
Please include a summary of the change and which issue is fixed or which feature is introduced.
|
8
|
+
|
9
|
+
If changes to the behavior are made, clearly describe what changes.
|
10
|
+
|
11
|
+
I will abide by the [code of conduct](https://github.com/fastruby/skunk/blob/main/CODE_OF_CONDUCT.md).
|
data/skunk.gemspec
CHANGED
@@ -14,7 +14,7 @@ Gem::Specification.new do |spec|
|
|
14
14
|
spec.description = "Knows how to calculate the SkunkScore for a set of Ruby modules"
|
15
15
|
spec.homepage = "https://github.com/fastruby/skunk"
|
16
16
|
|
17
|
-
spec.required_ruby_version = [">= 2.4.0", "< 3.
|
17
|
+
spec.required_ruby_version = [">= 2.4.0", "< 3.2"]
|
18
18
|
|
19
19
|
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
20
20
|
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
@@ -23,7 +23,7 @@ Gem::Specification.new do |spec|
|
|
23
23
|
|
24
24
|
spec.metadata["homepage_uri"] = spec.homepage
|
25
25
|
spec.metadata["source_code_uri"] = "https://github.com/fastruby/skunk"
|
26
|
-
spec.metadata["changelog_uri"] = "https://github.com/fastruby/skunk/
|
26
|
+
spec.metadata["changelog_uri"] = "https://github.com/fastruby/skunk/blob/main/CHANGELOG.md"
|
27
27
|
else
|
28
28
|
raise "RubyGems 2.0 or newer is required to protect against " \
|
29
29
|
"public gem pushes."
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: skunk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ernesto Tagwerker
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-04-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubycritic
|
@@ -271,6 +271,7 @@ files:
|
|
271
271
|
- lib/skunk/rubycritic/analysed_modules_collection.rb
|
272
272
|
- lib/skunk/version.rb
|
273
273
|
- logo.png
|
274
|
+
- pull_request_template.md
|
274
275
|
- samples/engines/spec/nested_sample_spec.rb
|
275
276
|
- samples/rubycritic/analysed_module.rb
|
276
277
|
- skunk.gemspec
|
@@ -281,7 +282,7 @@ metadata:
|
|
281
282
|
allowed_push_host: https://www.rubygems.org
|
282
283
|
homepage_uri: https://github.com/fastruby/skunk
|
283
284
|
source_code_uri: https://github.com/fastruby/skunk
|
284
|
-
changelog_uri: https://github.com/fastruby/skunk/
|
285
|
+
changelog_uri: https://github.com/fastruby/skunk/blob/main/CHANGELOG.md
|
285
286
|
post_install_message:
|
286
287
|
rdoc_options: []
|
287
288
|
require_paths:
|
@@ -293,14 +294,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
293
294
|
version: 2.4.0
|
294
295
|
- - "<"
|
295
296
|
- !ruby/object:Gem::Version
|
296
|
-
version: 3.
|
297
|
+
version: '3.2'
|
297
298
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
298
299
|
requirements:
|
299
300
|
- - ">="
|
300
301
|
- !ruby/object:Gem::Version
|
301
302
|
version: '0'
|
302
303
|
requirements: []
|
303
|
-
rubygems_version: 3.
|
304
|
+
rubygems_version: 3.3.3
|
304
305
|
signing_key:
|
305
306
|
specification_version: 4
|
306
307
|
summary: A library to assess code quality vs. code coverage
|