kettle-soup-cover 1.0.4 → 1.0.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 383cc69e3628e758727895476cf1074d7433ea2711233a9314804196e05a9f07
4
- data.tar.gz: 4f78f6c776da4a4795e03cc92e0a0291c53ef65713ec9c0087bcafdcd0a63c19
3
+ metadata.gz: 82f4891a6e2c54e8489c5f559557d7b19b96d85cabea4e90d060921ed9c4dd44
4
+ data.tar.gz: b04646d864b370984405e13252fdc1b2f7a87b9883a39059978db469f9934077
5
5
  SHA512:
6
- metadata.gz: b712007a803e95485b9f110e90fdf06ba153b6a80ff0b71fe6796949a483ad81a09466cc456286d19c2b024af2dcf93206a778a800a5d82ce25eca172af66fea
7
- data.tar.gz: d437e0c53a85e1b36bc95769d45a1aa59f76484d8036644ca3a817422a826ef62fcec0ec421501e90b72a28932b110e99fddc560643b6eb276a27c396ff41d85
6
+ metadata.gz: 963943e8faea0ea864f4e6ca8a2023e672f6b63267d868cbbb50a6a7721cddb556f2b9ab1d8c3bc3bfba71cfb7e79d87e743bed011be995378ab1835080650f1
7
+ data.tar.gz: 76ba3aed9e242db065daa636a4c034d5c41fc9fdf542a4af7facdc88322fdb3fa5319a9d7eee083b3028dd83f7259f156cd5317133da5fad3f5dc5c9c765f2b7
checksums.yaml.gz.sig CHANGED
Binary file
data/CHANGELOG.md CHANGED
@@ -11,6 +11,46 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
11
11
  ### Fixed
12
12
  ### Removed
13
13
 
14
+ ## [1.0.6] - 2025-05-04
15
+ - COVERAGE: 93.43% -- 128/137 lines in 10 files
16
+ - BRANCH COVERAGE: 50.00% -- 16/32 branches in 10 files
17
+ - 11.11% documented
18
+ ### Added
19
+ - Support for linux, and other OSes, in `coverage` rake task
20
+ - previously was macOS only (would raise error on other OSes)
21
+ - ✨ `Kettle::Soup::Cover::OPEN_BIN`
22
+ - Set `export K_SOUP_COV_OPEN_BIN=open` to use macOS' `open` command in `coverage` task
23
+ - Set `export K_SOUP_COV_OPEN_BIN=xdg-open` to use Linux' `xdg-open` command in `coverage` task
24
+ - Set `export K_SOUP_COV_OPEN_BIN=` to just print the path to the HTML coverage report in `coverage` task
25
+ - Test coverage increased from 55 => 81 for lines
26
+ - Test coverage increased from 25 => 53 for branches
27
+ ### Changed
28
+ - Refactored internals in ways that should not affect public APIs
29
+ - allows much greater test coverage
30
+ - report a bug if anything breaks!
31
+ - Going forward all releases will be signed by my key that expires 2045-05-04
32
+ ### Fixed
33
+ - require hooks such that both work equally well:
34
+ - `require "kettle/soup/cover"`
35
+ - `require "kettle-soup-cover"`
36
+ - Allow unsigned gem builds (for linux distros)
37
+ - In the ENV set `SKIP_GEM_SIGNING` to any value
38
+
39
+ ## [1.0.5] - 2025-04-03
40
+ ### Added
41
+ - Documentation
42
+ - Support for malformed `K_SOUP_COV_FORMATTERS` (extra spaces)
43
+ - Code coverage tools QLTY, and CodeCov.io
44
+ - Added Ruby 3.3, 3.4 to CI
45
+ ### Changed
46
+ - Update to Contributor Covenant 2.1
47
+ - Allow unsigned gem builds (for linux distros)
48
+ - Checksums are now created by `stone_checksums` gem
49
+ ### Fixed
50
+ - Incorrect documentation of ENV variables that control gem behavior
51
+ - Prefer `Kernel.load` > `load` in gemspec
52
+ - https://github.com/simplecov-ruby/simplecov/issues/557#issuecomment-2630782358
53
+
14
54
  ## [1.0.4] - 2024-06-11
15
55
  ### Added
16
56
  - Documentation
@@ -65,7 +105,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
65
105
  ## [0.1.0] - 2023-10-17
66
106
  - Initial release
67
107
 
68
- [Unreleased]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.1...HEAD
108
+ [Unreleased]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.6...HEAD
109
+ [1.0.6]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.5...v1.0.6
110
+ [1.0.5]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.4...v1.0.5
111
+ [1.0.4]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.3...v1.0.4
112
+ [1.0.3]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.2...v1.0.3
69
113
  [1.0.2]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.1...v1.0.2
70
114
  [1.0.1]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v1.0.0...v1.0.1
71
115
  [1.0.0]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/compare/v0.1.0...v1.0.0
data/CODE_OF_CONDUCT.md CHANGED
@@ -1,84 +1,135 @@
1
+
1
2
  # Contributor Covenant Code of Conduct
2
3
 
3
4
  ## Our Pledge
4
5
 
5
- We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
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
11
+ identity and orientation.
6
12
 
7
- We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
13
+ We pledge to act and interact in ways that contribute to an open, welcoming,
14
+ diverse, inclusive, and healthy community.
8
15
 
9
16
  ## Our Standards
10
17
 
11
- Examples of behavior that contributes to a positive environment for our community include:
18
+ Examples of behavior that contributes to a positive environment for our
19
+ community include:
12
20
 
13
21
  * Demonstrating empathy and kindness toward other people
14
22
  * Being respectful of differing opinions, viewpoints, and experiences
15
23
  * Giving and gracefully accepting constructive feedback
16
- * Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
17
- * Focusing on what is best not just for us as individuals, but for the overall community
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 overall
27
+ community
18
28
 
19
29
  Examples of unacceptable behavior include:
20
30
 
21
- * The use of sexualized language or imagery, and sexual attention or
22
- advances of any kind
31
+ * The use of sexualized language or imagery, and sexual attention or advances of
32
+ any kind
23
33
  * Trolling, insulting or derogatory comments, and personal or political attacks
24
34
  * Public or private harassment
25
- * Publishing others' private information, such as a physical or email
26
- address, without their explicit permission
35
+ * Publishing others' private information, such as a physical or email address,
36
+ without their explicit permission
27
37
  * Other conduct which could reasonably be considered inappropriate in a
28
38
  professional setting
29
39
 
30
40
  ## Enforcement Responsibilities
31
41
 
32
- Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
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.
33
46
 
34
- Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
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.
35
51
 
36
52
  ## Scope
37
53
 
38
- This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
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 email address,
57
+ posting via an official social media account, or acting as an appointed
58
+ representative at an online or offline event.
39
59
 
40
60
  ## Enforcement
41
61
 
42
- Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at peter.boling@gmail.com. All complaints will be reviewed and investigated promptly and fairly.
62
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
63
+ reported to the community leaders responsible for enforcement at
64
+ [![Contact BDFL][🚂bdfl-contact-img]][🚂bdfl-contact].
65
+ All complaints will be reviewed and investigated promptly and fairly.
43
66
 
44
- All community leaders are obligated to respect the privacy and security of the reporter of any incident.
67
+ All community leaders are obligated to respect the privacy and security of the
68
+ reporter of any incident.
45
69
 
46
70
  ## Enforcement Guidelines
47
71
 
48
- Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
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:
49
74
 
50
75
  ### 1. Correction
51
76
 
52
- **Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
77
+ **Community Impact**: Use of inappropriate language or other behavior deemed
78
+ unprofessional or unwelcome in the community.
53
79
 
54
- **Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
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.
55
83
 
56
84
  ### 2. Warning
57
85
 
58
- **Community Impact**: A violation through a single incident or series of actions.
86
+ **Community Impact**: A violation through a single incident or series of
87
+ actions.
59
88
 
60
- **Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
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 permanent
94
+ ban.
61
95
 
62
96
  ### 3. Temporary Ban
63
97
 
64
- **Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
98
+ **Community Impact**: A serious violation of community standards, including
99
+ sustained inappropriate behavior.
65
100
 
66
- **Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
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.
67
106
 
68
107
  ### 4. Permanent Ban
69
108
 
70
- **Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
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.
71
112
 
72
- **Consequence**: A permanent ban from any sort of public interaction within the community.
113
+ **Consequence**: A permanent ban from any sort of public interaction within the
114
+ community.
73
115
 
74
116
  ## Attribution
75
117
 
76
- This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.0,
77
- available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
78
-
79
- Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity).
118
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119
+ version 2.1, available at
120
+ [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
80
121
 
81
- [homepage]: https://www.contributor-covenant.org
122
+ Community Impact Guidelines were inspired by
123
+ [Mozilla's code of conduct enforcement ladder][Mozilla CoC].
82
124
 
83
125
  For answers to common questions about this code of conduct, see the FAQ at
84
- https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.
126
+ [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
127
+ [https://www.contributor-covenant.org/translations][translations].
128
+
129
+ [homepage]: https://www.contributor-covenant.org
130
+ [v2.1]: https://www.contributor-covenant.org/version/2/1/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
134
+ [🚂bdfl-contact]: http://www.railsbling.com/contact
135
+ [🚂bdfl-contact-img]: https://img.shields.io/badge/Contact-BDFL-0093D0.svg?style=flat&logo=rubyonrails&logoColor=red
data/CONTRIBUTING.md CHANGED
@@ -1,56 +1,115 @@
1
- ## Contributing
1
+ # Contributing
2
2
 
3
3
  Bug reports and pull requests are welcome on GitLab at [https://gitlab.com/kettle-rb/kettle-soup-cover][🚎src-main]
4
4
  . This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to
5
5
  the [code of conduct][🤝conduct].
6
6
 
7
- Everyone interacting in this project's codebases, issue trackers, chat
8
- rooms and mailing lists is expected to follow the [code of conduct][🤝conduct].
7
+ To submit a patch, please fork the project and create a patch with tests.
8
+ Once you're happy with it send a pull request.
9
9
 
10
- To submit a patch, please fork the project and create a patch with tests. Once you're happy with it send a pull request.
10
+ We [![Keep A Changelog][📗keep-changelog-img]][📗keep-changelog] so if you make changes, remember to update it.
11
11
 
12
- ## Release
12
+ ## You can help!
13
13
 
14
- To release a new version:
14
+ Simply follow these instructions:
15
15
 
16
- 1. Run `bin/setup && bin/rake` as a tests, coverage, & linting sanity check
17
- 2. Update the version number in `version.rb`
18
- 3. Run `bin/setup && bin/rake` again as a secondary check, and to update `Gemfile.lock`
19
- 4. Run `git commit -am "🔖 Prepare release v<VERSION>"` to commit the changes
20
- 5. Run `git push` to trigger the final CI pipeline before release, & merge PRs
21
- a. NOTE: Remember to [check the build][🧪build]!
22
- 6. Run `git checkout main`
23
- 7. Run `git pull origin main` to ensure you will release the latest trunk code.
24
- 8. Set `SOURCE_DATE_EPOCH` so `rake build` and `rake release` use same timestamp, and generate same checksums
25
- a. Run `export SOURCE_DATE_EPOCH=$EPOCHSECONDS && echo $SOURCE_DATE_EPOCH`
26
- b. If the echo above has no output, then it didn't work.
27
- c. Note that you'll need the `zsh/datetime` module, if running `zsh`.
28
- d. In `bash` you can use `date +%s` instead, i.e. `export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH`
29
- 9. Run `bundle exec rake build`
30
- 10. Run [`bin/checksums`][🔒️rubygems-checksums-pr] to create SHA-256 and SHA-512 checksums
31
- a. Checksums will be committed automatically by the script, but not pushed
32
- 11. Run `bundle exec rake release` which will create a git tag for the version,
33
- push git commits and tags, and push the `.gem` file to [rubygems.org][💎rubygems]
16
+ 1. Fork the repository
17
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
18
+ 3. Make some fixes.
19
+ 4. Commit your changes (`git commit -am 'Added some feature'`)
20
+ 5. Push to the branch (`git push origin my-new-feature`)
21
+ 6. Make sure to add tests for it. This is important, so it doesn't break in a future release.
22
+ 7. Create new Pull Request.
34
23
 
35
- NOTE: You will need to have a public key in `certs/`, and list your cert in the
36
- `gemspec`, in order to sign the new release.
37
- See: [RubyGems Security Guide][🔒️rubygems-security-guide]
24
+ ## The Reek List
25
+
26
+ Take a look at the `reek` list which is the file called `REEK` and find something to improve.
27
+
28
+ To refresh the `reek` list:
29
+
30
+ ```bash
31
+ bundle exec reek > REEK
32
+ ```
33
+
34
+ ## Run Tests
35
+
36
+ To run all tests
37
+
38
+ ```bash
39
+ bundle exec rake test
40
+ ```
41
+
42
+ ## Lint It
43
+
44
+ Run all the default tasks, which includes running the gradually autocorrecting linter, `rubocop-gradual`.
45
+
46
+ ```bash
47
+ bundle exec rake
48
+ ```
49
+
50
+ Or just run the linter.
51
+
52
+ ```bash
53
+ bundle exec rake rubocop_gradual:autocorrect
54
+ ```
38
55
 
39
56
  ## Contributors
40
57
 
41
- [![Contributors on GitHub][🖐contributors-img]][🖐contributors-gh]
58
+ Your picture could be here!
59
+
60
+ [![Contributors][🖐contributors-img]][🖐contributors]
42
61
 
43
62
  Made with [contributors-img][🖐contrib-rocks].
44
63
 
45
- For contributors on GitLab see: [https://gitlab.com/kettle-rb/kettle-soup-cover/-/graphs/main][🖐contributors-gl]
64
+ Also see GitLab Contributors: [https://gitlab.com/kettle-rb/kettle-soup-cover/-/graphs/main][🚎contributors-gl]
65
+
66
+ ## For Maintainers
67
+
68
+ ### One-time, Per-maintainer, Setup
69
+
70
+ **IMPORTANT**: If you want to sign the build you create,
71
+ your public key for signing gems will need to be picked up by the line in the
72
+ `gemspec` defining the `spec.cert_chain` (check the relevant ENV variables there).
73
+ All releases to RubyGems.org will be signed.
74
+ See: [RubyGems Security Guide][🔒️rubygems-security-guide]
75
+
76
+ NOTE: To build without signing the gem you must set `SKIP_GEM_SIGNING` to some value in your environment.
77
+
78
+ ### To release a new version:
79
+
80
+ 1. Run `bin/setup && bin/rake` as a tests, coverage, & linting sanity check
81
+ 2. Update the version number in `version.rb`, and ensure `CHANGELOG.md` reflects changes
82
+ 3. Run `bin/setup && bin/rake` again as a secondary check, and to update `Gemfile.lock`
83
+ 4. Run `git commit -am "🔖 Prepare release v<VERSION>"` to commit the changes
84
+ 5. Run `git push` to trigger the final CI pipeline before release, & merge PRs
85
+ - NOTE: Remember to [check the build][🧪build]!
86
+ 6. Run `export GIT_TRUNK_BRANCH_NAME="$(git remote show origin | grep 'HEAD branch' | cut -d ' ' -f5)" && echo $GIT_TRUNK_BRANCH_NAME`
87
+ 7. Run `git checkout $GIT_TRUNK_BRANCH_NAME`
88
+ 8. Run `git pull origin $GIT_TRUNK_BRANCH_NAME` to ensure you will release the latest trunk code
89
+ 9. Set `SOURCE_DATE_EPOCH` so `rake build` and `rake release` use same timestamp, and generate same checksums
90
+ - Run `export SOURCE_DATE_EPOCH=$EPOCHSECONDS && echo $SOURCE_DATE_EPOCH`
91
+ - If the echo above has no output, then it didn't work.
92
+ - Note that you'll need the `zsh/datetime` module, if running `zsh`.
93
+ - In older versions of `bash` you can use `date +%s` instead, i.e. `export SOURCE_DATE_EPOCH=$(date +%s) && echo $SOURCE_DATE_EPOCH`
94
+ 10. Run `bundle exec rake build`
95
+ 11. Run `bin/gem_checksums` (more context [1][🔒️rubygems-checksums-pr], [2][🔒️rubygems-guides-pr])
96
+ to create SHA-256 and SHA-512 checksums. This functionality is provided by the `stone_checksums`
97
+ [gem][💎stone_checksums].
98
+ - Checksums will be committed automatically by the script, but not pushed
99
+ 12. Run `bundle exec rake release` which will create a git tag for the version,
100
+ push git commits and tags, and push the `.gem` file to [rubygems.org][💎rubygems]
46
101
 
102
+ [🚎src-main]: https://gitlab.com/kettle-rb/kettle-soup-cover
47
103
  [🧪build]: https://github.com/kettle-rb/kettle-soup-cover/actions
48
104
  [🤝conduct]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/blob/main/CODE_OF_CONDUCT.md
49
105
  [🖐contrib-rocks]: https://contrib.rocks
50
- [🖐contributors-gh]: https://github.com/kettle-rb/kettle-soup-cover/graphs/contributors
106
+ [🖐contributors]: https://github.com/kettle-rb/kettle-soup-cover/graphs/contributors
107
+ [🚎contributors-gl]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/graphs/main
51
108
  [🖐contributors-img]: https://contrib.rocks/image?repo=kettle-rb/kettle-soup-cover
52
- [🖐contributors-gl]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/graphs/main
53
109
  [💎rubygems]: https://rubygems.org
54
110
  [🔒️rubygems-security-guide]: https://guides.rubygems.org/security/#building-gems
55
- [🔒️rubygems-checksums-pr]: https://github.com/rubygems/guides/pull/325
56
- [🚎src-main]: https://gitlab.com/kettle-rb/kettle-soup-cover/-/tree/main
111
+ [🔒️rubygems-checksums-pr]: https://github.com/rubygems/rubygems/pull/6022
112
+ [🔒️rubygems-guides-pr]: https://github.com/rubygems/guides/pull/325
113
+ [💎stone_checksums]: https://github.com/pboling/stone_checksums
114
+ [📗keep-changelog]: https://keepachangelog.com/en/1.0.0/
115
+ [📗keep-changelog-img]: https://img.shields.io/badge/keep--a--changelog-1.0.0-FFDD67.svg?style=flat
data/LICENSE.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2023 - 2024 Peter Boling (railsbling.com)
3
+ Copyright (c) 2023 - 2025 Peter Boling (railsbling.com)
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal