nerd_dice 0.5.1 → 0.5.3

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: 6e6e1993a7ddd4782146fdb532f44983eb8d67c71a71740c7b10a2a7d943a8a4
4
- data.tar.gz: cc708f79a5fcd24024112802beb58cd0701677df7f5fceaf5be24008570d5fbf
3
+ metadata.gz: 1fcf1cbd38f0cd6e1649cbf0b6a10a841cadac90fdb14cc0f51dfa742072bdf3
4
+ data.tar.gz: 5925e8457c4cb0f25f5d9bd51f1c40eae40e524d750c325dc4d793d24fb285be
5
5
  SHA512:
6
- metadata.gz: aa4194ee43ce436d055a72cf40c4f88abefb503025e0ea368f2fd9cfaf069373c4ff9abe36d8e0309ab4fdfed942998c72ac5425ac231792fae28cfebc3dab93
7
- data.tar.gz: a1d4ebea184f994f02206665f7b77223a9a0c2c199cf637147ecb2da71f30b62067328e5c660e5fb9692a75f146546af4d893262c7c234309f91657ed5385cc8
6
+ metadata.gz: f0a2a8bd50acdaed8963360c2e9d2c1aa7871dd2e6be5f723d79a71cf7dd2eb9eef18a96412cdb5636703ea3434947578688a96540e7b9db51dbda2765706dde
7
+ data.tar.gz: 525952946c43eba4d4b2b1858bdfc88c9f2145b250ff5ed195c4f92944e42cf119ece1a8054cf8bf36526072b2c35764f2cdac2928d0b7628cdc0a3a7475c245
checksums.yaml.gz.sig CHANGED
@@ -1,4 +1,6 @@
1
- K"��rl���^�����<<���>����j��6����Q'D��B���t%���`��F������,�E�z�}0ȶ܆I�JG�R��L��ug�����<т�em(�}��S�n��P���m�>�M �:Y+̜Og�1��,<*������*~�a�ķB%�S��� v'QJ!����*J\D�l ��ȵ}l�����: K�������d�귳��_��υT*��&�wBjv{&�O�2O�V����-ʴ)b����$o�����Gi����xk^�9����-��G����w w��F�[����:�@����ޔ�Z���,0g/���b�Hy�ۙ�Ѿ�s
2
- e��>
3
- ؿ-����.)
4
- ��!@��npn�ܗ$��ȦQ�
1
+ ��K�5�ϫ7�����z7è������n��x���`
2
+ �T����]&��+,���Q��H�0
3
+ |K<���P��*}�瘄z�����(�M�������G� uHʝғѼ { I�UA`�2��i�J�)0V�W <S_v�7�:���)��Y85���pK5_^��ZH��ÕZ�@z|�'8�"L1����U]&FJ�™� �cH��!t�i^��>���?�P�
4
+ ���)s���#5Td�
5
+ 뾇���@�@A�
6
+ r��S�Pmץu��xt}�-�z!��c���8�.�����$x�l���[�b�9s6\��E� �l����-Ȱ�*\�����x�%�>M��6o�zN"���М��&&��̩^o(�
@@ -14,10 +14,10 @@ jobs:
14
14
  runs-on: ubuntu-latest
15
15
  strategy:
16
16
  matrix:
17
- ruby-version: ['3.0', '3.1', '3.2', '3.3']
17
+ ruby-version: ['3.0', '3.1', '3.2', '3.3', '3.4', '4.0']
18
18
 
19
19
  steps:
20
- - uses: actions/checkout@v2
20
+ - uses: actions/checkout@v6
21
21
  - name: Set up Ruby
22
22
  uses: ruby/setup-ruby@v1
23
23
  with:
@@ -35,11 +35,11 @@ jobs:
35
35
  rubocop:
36
36
  runs-on: ubuntu-latest
37
37
  steps:
38
- - uses: actions/checkout@v2
38
+ - uses: actions/checkout@v6
39
39
  - name: Set up Ruby
40
40
  uses: ruby/setup-ruby@v1
41
41
  with:
42
- ruby-version: '3.2'
42
+ ruby-version: '4.0'
43
43
  bundler-cache: true # runs 'bundle install' and caches installed gems automatically
44
44
  - name: Run rubocop
45
45
  run: bundle exec rubocop --parallel
@@ -47,11 +47,11 @@ jobs:
47
47
  benchmark:
48
48
  runs-on: ubuntu-latest
49
49
  steps:
50
- - uses: actions/checkout@v2
50
+ - uses: actions/checkout@v6
51
51
  - name: Set up Ruby
52
52
  uses: ruby/setup-ruby@v1
53
53
  with:
54
- ruby-version: '3.2'
54
+ ruby-version: '4.0'
55
55
  bundler-cache: true # runs 'bundle install' and caches installed gems automatically
56
56
  - name: Run benchmark script
57
57
  run: bin/nerd_dice_benchmark
data/.gitignore CHANGED
@@ -6,6 +6,10 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ mise.toml
9
10
 
10
11
  # rspec failure tracking
11
12
  .rspec_status
13
+
14
+ # ignore Gemfile.lock for version control
15
+ Gemfile.lock
data/.rubocop.yml CHANGED
@@ -6,7 +6,7 @@
6
6
  # will be enabled by default, and a case-by-case descision can be made whether
7
7
  # to exclude new violations in the configuration explicitly or update the
8
8
  # codebase to the gem to conform to the new standard.
9
- require:
9
+ plugins:
10
10
  - rubocop-performance
11
11
  - rubocop-rake
12
12
  - rubocop-rspec
@@ -166,9 +166,6 @@ Metrics/BlockLength:
166
166
  - 'spec/**/*.rb'
167
167
  - 'nerd_dice.gemspec'
168
168
 
169
- Gemspec/DevelopmentDependencies:
170
- EnforcedStyle: gemspec
171
-
172
169
  Lint/ErbNewArguments:
173
170
  Enabled: true
174
171
 
data/CONTRIBUTING.md CHANGED
@@ -1,108 +1,8 @@
1
1
  # Contributing to the NerdDice Project
2
2
 
3
- Thank you for visiting the NerdDice repository and for taking interest in collaborating on the project. The primary goal of this project is educational: we want to teach people how to code with [Ruby](https://www.ruby-lang.org/en/). This is a published gem on [RubyGems](https://rubygems.org/gems/nerd_dice) and can be used in other projects using the instructions outlined in the [README](README.md#installation).
3
+ <img src="https://i.kym-cdn.com/photos/images/newsfeed/000/186/610/thankyou.png?1318726198" alt="Our Contributing Guidelines are in another castle" />
4
4
 
5
- <a name="before-you-start"></a>
6
- ## Before you start...
7
- Everything in this repository is intended to be made freely available via the [UNLICENSE](UNLICENSE.txt) and the [Creative Commons](https://creativecommons.org) [CC0 Public Domain Dedication](https://creativecommons.org/publicdomain/zero/1.0/). You can obviously submit feature requests and issues and participate in the discussions, but we can\'t accept anything into this repository and project unless you agree to make it available under the terms above. See the [legal](README.md#legal) section in the README for more information.
5
+ ## Legacy Branch: See master
6
+ This is a legacy maintenance branch.
8
7
 
9
- ### Coding Videos
10
- We make [coding videos](https://youtube.com/playlist?list=PL9kkbu1kLUeOnUtMpAnJOCtHdThx1Efkt) on our [YouTube channel](https://www.youtube.com/statelesscode) for the end-to-end of this project. If you collaborate on this project, you are consenting to potentially have the interaction featured in our videos. There is no guarantee or obligation to include your contribution or interaction in our videos, and we reserve the right to moderate inappropriate content at our own discretion.
11
-
12
- ## Ways to Contribute
13
- There are numerous ways to contribute to this project, irrespective of your level of technical expertise. We\'ll flesh out the details and guidelines for each way to contribute below
14
-
15
- - **[Feature requests](#feature-requests)**
16
- - **[Bug reports](#bug-reports)**
17
- - **[Code contributions](#code-contributions)**
18
- - **[Documentation contributions](#documentation-contributions)**
19
- - **[Art, design and creative input](#art-design-creative-input)**
20
-
21
- <a name="feature-requests"></a>
22
- ### Feature requests
23
- If you have an idea for a feature you would like to see in the NerdDice gem, feel free to [open an issue](https://github.com/statelesscode/nerd_dice/issues) in this GitHub repository. As an agile project, we strive to provide value. The better you can articulate your idea and the value it would bring to you as a user of the gem or including in your own project, it will help us determine whether or how to prioritize the idea.
24
-
25
- Once an issue is submitted, we will likely need to discuss and clarify the feature request via comments to refine and clarify the intent, scope, and value of the feature. Precisely articulating your original feature request will help reduce the back-and-forth necessary to evaluate the story for implementation.
26
-
27
- We can\'t guarantee that your feature request will be implemented or featured in a video, but truly welcome the collaboration and feedback of all who take interest.
28
-
29
- <a name="bug-reports"></a>
30
- ### Bug reports
31
- The distinction between a feature and a bug can sometimes be murky. While a feature generally refers to a request for new functionality, a bug is related to existing functionality that is not working as intended. In order to better evaluate the bug for a fix, it is extremely helpful to follow the following format:
32
- #### Expected behavior
33
- How you as a user or a technical evaluator would expect the application to behave. Expectation is obviously subjective, but defining your expectations as a user can help to expose usability problems with the application. If you discover a bug, we warmly welcome you to [open an issue](https://github.com/statelesscode/nerd_dice/issues) in this GitHub repository unless it is a [security bug](#security-bugs) that could be exploited and is not suitable for public collaboration.
34
-
35
- **Examples:**
36
- - When I use the `roll_` convenience method with `plus` and `minus` I expect it to error out.
37
- - When I configure a randomization technique I expect that the configuration will persist until I change it or stop the Ruby interpreter
38
- - When I roll a 6-sided die, I expect to get a number between 1 and 6, inclusive
39
-
40
- #### Actual behavior
41
- The actual behavior is what really happens when you try to use your feature in a way that defies your expectations. Using the same examples listed above, you can see how this might work.
42
-
43
- **Examples:**
44
- - The method doesn't error out and uses the plus but not the minus
45
- - The configuration always reverts the randomization technique to `:secure_random`
46
- - I sometimes get a 0 and I never get a 6
47
-
48
- #### Steps to reproduce
49
- In order to properly fix the bug, it needs to be reproducible. The more detailed and precise your steps to reproduce are, the more likely it will be that we come to the right solution in fixing the bug. Sometimes a bug will only manifest if an exact sequence of events takes place. The more complex an application gets, the harder it becomes to isolate and diagnose the root cause. An example of steps to reproduce the first problem can look something like this.
50
- - Include the gem in the `Gemfile` and run `bundle install`
51
- - Open the `Pry` console
52
- - Execute the following commands
53
- ```ruby
54
- o = Object.new
55
- o.roll_2d8.harvest_totals
56
- ```
57
- - A `NoMethodError` is raised
58
-
59
- In this case the `NoMethodError` is caused by improper usage of the `harvest_totals` method, but providing specifics about what you are trying to do and what you expect to have happen can result in better clarity of documentation or a new feature.
60
-
61
- <a name="security-bugs"></a>
62
- #### Security bugs
63
- If you discover a security vulnerability in the application that can be exploited, please follow our [security reporting process](SECURITY.md) instead of submitting a public issue.
64
-
65
- <a name="code-contributions"></a>
66
- ### Code contributions
67
- At Stateless Code our motto is \"Code Along\" and we mean it. If you have a feature that you want to implement yourself and contribute to the project, or you see an item in the [project backlog](https://github.com/statelesscode/nerd_dice/projects/1) that you want to try and tackle yourself, you are encouraged to do so.
68
- #### Open an issue, if applicable
69
- If there's a brand new feature you want to propose, or you want to work on a backlog item that is not yet converted into an issue, you can [open an issue](https://github.com/statelesscode/nerd_dice/issues) in this GitHub repository as you would in the sections above.
70
- #### Fork the repository
71
- To work on your changes, you will want to [fork this repository](https://github.com/statelesscode/nerd_dice/fork) into a repo on your own account so you can work and iterate on your feature.
72
- #### Develop the feature
73
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
74
-
75
- To install this gem onto your local machine, run `bundle exec rake install`.
76
-
77
- Once you have forked the repo, you can work to develop the contribution on your account. As you are working on your contribution you can commit as frequently as you'd like. \(We'll likely squash the commit down if and when it becomes time to merge the feature.\) In order to avoid rework, be sure to follow the [coding standards](#coding-standards) below. If the pull request is a candidate for merging, we will review the code and iterate on any feedback as needed.
78
- <a name="coding-standards"></a>
79
- #### Coding standards
80
- Just like [Ruby on Rails](https://rubyonrails.org/) is able to increase programmer happiness by using convention over configuration, it\'s important to follow a consistent set of conventions throughout the code base to make it more consistent and maintainable. Some of these standards are just preferences while others \(like writing good tests\) are indispensable. If you feel strongly that one of these conventions should be modified and have good reasons to back it up, cordial conversation in an [issue](https://github.com/statelesscode/nerd_dice/issues) can be productive. I don\'t have all the answers and am constantly learning and evolving as a programmer myself. Just don\'t be a jerk about it.
81
- ##### Always cover your code with good tests!
82
- Whenever it\'s possible and feasible, we recommend using a test-driven development approach \(red, green, refactor\) . We have a video on [Why Test Driven Development](https://youtu.be/AGXfZP-EhKo) on our [YouTube channel](https://www.youtube.com/statelesscode) if you\'d like to learn more.
83
- - Write your failing test
84
- - Implement your change in the application code to make the test pass
85
- - Refactor your code
86
-
87
- Tests should be meaningful, failing without your code and passing only with your code. And the assertions you make about your code should be meaningful. **Covering code with a test that doesn\'t make meaningful assertions is worse than not covering your code at all.**
88
-
89
- ##### Make sure the build will pass
90
- Before your pull request can be merged, we need to make sure the GitHub Actions build will not fail. The following criteria must be met:
91
- - `rubocop` needs to run without violations. If there is no way around a RuboCop violation, we can add disable-enable magic comments, but this should be seen as a last resort
92
- - The test suite needs to pass. Running `rspec spec` from the root of the project will run the unit tests
93
- - The code coverage can\'t decrease. This will cause the Coveralls check on the code to fail.
94
- ##### Avoid cognitive complexity and giant methods
95
- One of the common mottoes in the Ruby ecosystem is Don\'t Repeat Yourself \(DRY\). You want to write small, reusable methods for your code instead of giant thousand line monstrosities with if-else ladders and nested loops with more if-else ladders. Breaking your code down into bite sized chunks makes it more maintainable and less bug prone. It also allows you to write smaller, more-targeted unit tests. \"Working, but ugly\" is a common early iteration condition of a feature, but before we merge it to the main branch, we want our end goal to be elegant, expressive, concise code.
96
- ##### Write a good commit message
97
- When you\'re incrementally working on a story, it's fine to use the one-line `git commit -m "My commit message"` method of committing your code. When you squash it down at the end of the pull request, you want a good commit message for your contribution. There are many great resources on the internet about writing quality commit messages. [This one from cbeams](https://cbea.ms/git-commit/) is one of my favorites.
98
- <a name="documentation-contributions"></a>
99
- ### Documentation contributions
100
- You don\'t need to be a programmer to contribute to the project! If you have suggestions for clarity on documentation for the project \(as small as fixing a typo or as big as setting up a Wiki category\) you are welcome to contribute. If you aren\'t interested in learning about GitHub, git, or the version control process, you can still [open an issue](https://github.com/statelesscode/nerd_dice/issues) in this GitHub repository and provide your content contributions there. Of course, if you are comfortable with the pull request process from the [code contributions](#code-contributions) section, you are welcome to do so. We just don\'t want that to be a barrier to entry.
101
-
102
- <a name="art-design-creative-input"></a>
103
- ### Art, design and creative input
104
- If you have art, design, or other forms of creative input on the project that don\'t fit the above criteria, you can [open an issue](https://github.com/statelesscode/nerd_dice/issues) in this GitHub repository for that as well. As noted in the [Before you start...](#before-you-start) section, we can\'t accept any contributions unless you agree to match them to the repository standards of CC0 and/or the UNLICENSE.
105
-
106
- <a name="guidelines-for-etiquette"></a>
107
- ## Guidelines for etiquette
108
- See the [Conduct](README.md#conduct) section in the README for more information.
8
+ The [authoritative version of the CONTRIBUTING.md](https://github.com/statelesscode/nerd_dice/blob/master/CONTRIBUTING.md) is found on the master branch. All other release and maintenance branches are updated to point to master after being created.
data/Gemfile CHANGED
@@ -5,5 +5,14 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in nerd_dice.gemspec
6
6
  gemspec
7
7
 
8
- gem "rake", "~> 13.0"
9
- gem "rspec", "~> 3.12"
8
+ # Development Dependencies
9
+ gem "benchmark", "~> 0.5.0"
10
+ gem "coveralls_reborn", "~> 0.29.0"
11
+ gem "irb"
12
+ gem "rake", "~> 13.3", ">= 13.3.1"
13
+ gem "rspec", "~> 3.13"
14
+ gem "rubocop", "~> 1.85.1"
15
+ gem "rubocop-performance", "~> 1.26.1"
16
+ gem "rubocop-rake", "~> 0.7.1"
17
+ gem "rubocop-rspec", "~> 3.9.0"
18
+ gem "simplecov-lcov", "~> 0.9.0"
data/SECURITY.md CHANGED
@@ -1,21 +1,8 @@
1
1
  # Security Policy
2
2
 
3
- ## Supported Versions
3
+ <img src="https://i.kym-cdn.com/photos/images/newsfeed/000/186/610/thankyou.png?1318726198" alt="Our Security Policy is in another castle" />
4
4
 
5
- As-of right now, the latest patch version of each minor version is supported, but versions earlier than `0.5.x` are deprecated and will not receive additional updates after their certificate expires on February 23, 2024.
5
+ ## Legacy Branch: See master
6
+ This is a legacy maintenance branch.
6
7
 
7
- | Version | Supported | End of Life |
8
- | ------- | -------------------------- | ----------- |
9
- | 0.5.x | :white_check_mark: Current | |
10
- | 0.4.x | :warning: Deprecated | 2024-02-23 |
11
- | 0.3.x | :warning: Deprecated | 2024-02-23 |
12
- | 0.2.x | :warning: Deprecated | 2024-02-23 |
13
- | 0.1.x | :warning: Deprecated | 2024-02-23 |
14
-
15
- ## Certificate Signing and Checksums
16
-
17
- The gem is currently released with a certificate so it can be installed with the `HighSecurity` policy. The SHA-256 and SHA-512 of each released version of the gem is kept in the `checksum` directory of the GitHub repository.
18
-
19
- ## Reporting a Vulnerability
20
-
21
- Please report (suspected) security vulnerabilities to security@statelesscode.com. We make no guarantees related to turnaround time. If the issue is confirmed, we will release a patch as soon as possible depending on complexity and severity.
8
+ The [authoritative version of the SECURITY.md](https://github.com/statelesscode/nerd_dice/blob/master/SECURITY.md) is found on the master branch. All other release and maintenance branches are updated to point to master after being created.
@@ -1,27 +1,27 @@
1
1
  -----BEGIN CERTIFICATE-----
2
2
  MIIEhTCCAu2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBEMRYwFAYDVQQDDA1zdGF0
3
3
  ZWxlc3Njb2RlMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZ
4
- FgNjb20wHhcNMjQwMjI1MDUwMjMyWhcNMjUwMjI0MDUwMjMyWjBEMRYwFAYDVQQD
4
+ FgNjb20wHhcNMjYwMzEzMjMyOTM2WhcNMjcwMzEzMjMyOTM2WjBEMRYwFAYDVQQD
5
5
  DA1zdGF0ZWxlc3Njb2RlMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJ
6
- k/IsZAEZFgNjb20wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCz9RjM
7
- NA1l7x1CnXU3JTpGkusa8eC6x+w3JV7JxbCPkVDBLWfpl79AkBmsZwwifc7u1y5K
8
- GFdmLLy24IUDIQzbspCCLkEUZdWXYzTY/7eXlSQOOx8q2OsJULyhPsjq6rUa1pfT
9
- tuf8Sw+Tw2xTKt9laxLQa6GXGd5SULz1jzy9LszRNuokJ78V74Oe0jlQSQLG+Cbi
10
- lvd40aN1mhZCUnGQYY+gYtGYvw+/YH+uUtg1ssVrG7V7MrPnRFr0jeqFEGubWXi+
11
- apY8ggcxW5imvHIxKf78yGG2Cq5Q2CHo3N98jrVbF1GWex6EZ3+Jst5dzehVdt6o
12
- MEslF+tE5b2YEcxYv5/PEimH5BNdeRJoT6AoCCjogbBt8is2A69PwtTNdLEkk393
13
- meBqYa4wGHE+5Drmjpld/DzsEroqMtQD1RPi8gIEEVlp/onuOBJwHPFRbEDHiA/+
14
- PtyFW3ARFpjIxKl315kcbBsyhe/hC5eKdfGjpg3OBE9JO9pW0gNXrfwVCPcCAwEA
15
- AaOBgTB/MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRejpfAnhl1
16
- ZJdbNK4qO1ergHf1iDAiBgNVHREEGzAZgRdzdGF0ZWxlc3Njb2RlQGdtYWlsLmNv
6
+ k/IsZAEZFgNjb20wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZ5mM8
7
+ 2FOF+wszAmvmx8GrSBYsvuibXtqLHHlZ5Bgq70ru3awGoN+pILZvbGRPLzm79Mpp
8
+ V2NgshEdHX/5Sn/VMgEzZsVDO2ZI1d+86QLEoZYwyHcdhadDIp4yFJGYcGTVrqm7
9
+ dwyPyGQpVhLdbDT3xbRJEZnxQSFxngaM6X47DYx7QmFo5dTq3IdVF196VgOAzDbq
10
+ bi++8bvfqPDLRoPSp1IKFuKV3wch0s27fHkyeKlJR2i5AllDR7REveEoj7abJWIp
11
+ ntex/8pJfz91x1/SdcsIgphJOWDKlRp6aajNtktBbOSd4YY+UBIpzb64rvegDnkX
12
+ WBeNhnrIvMQnKwjHd/U7omTfZ26LJp+0BrZY8J3iL35s2opGUgcIszELtTODh8j4
13
+ wBhVCUIELMbhh+Gnocrc9yuEVd52zGDvnzzdcD9IwcB0Y6u47DSsonn0vbFNQqu6
14
+ Xxd0VUL3VidxrUfKWstm7YTub5/QEM9eONWavYD9pXhCtMjWgyCXxM3a510CAwEA
15
+ AaOBgTB/MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBTAbHT+BHUg
16
+ KzrLnfVRSsXLu11CejAiBgNVHREEGzAZgRdzdGF0ZWxlc3Njb2RlQGdtYWlsLmNv
17
17
  bTAiBgNVHRIEGzAZgRdzdGF0ZWxlc3Njb2RlQGdtYWlsLmNvbTANBgkqhkiG9w0B
18
- AQsFAAOCAYEAKA+iULYm39HmXoR9a5TC3BbvlZKX1GBx9BXG4ukR1URs453Jggsg
19
- FMA/Y2QTG7UekkYs+Dj5KAf10rA9fhxRjqKCmvVXpRqLifF4eJDv1zkXOv4/0KVm
20
- xUBMDFKxzYPyuIw3RrwiW2Zsv9C67cD108LIOJ2ieqDHmW/vSrysYcjf5iQuVz98
21
- 7nKraLZJRukjFo01lYCLu2Wz6Ey+3WodcRmArrcWFaYnz2WsX1WMB4HTK9F1a4WA
22
- HdOa8ywu3BeV9D6S7630G9AhIqK01NSGv7v7/BLj8dkIovGU3ZGOS/dt1C+SIGPU
23
- eqrWOdAE4uMEoaV4Wg/99C5Wh492EMkfc21e94txLrjwsrpCmQ/rJ3C9m9sNJc2x
24
- 9K9Wl/3ET4PcRcOkctsJGKWRMW+KY5LEUSxMg0jURQIR0cKDfv/zGmvBAkvG6ULq
25
- XSkYcMWowop72jQqf0edJiaEIypupYqx/DPoKRyroiNl3LXwfjZzjd1wZSrM2A+s
26
- iOVXSt3E06vw
18
+ AQsFAAOCAYEAA8teSMrWZvoa8KhM9G4JDkm5pWxMCg6O5LI6yH+Hl3QcyUscXGTt
19
+ G+WEngF/EIOR/ZrkWC7K4oxgHsWKtFIxWJEnwrCCxs5zTkkwqf0WLE0epNq7jafD
20
+ WRXrvxNqgXeGu041R5XJuvcgAj7ALhielnizpK0InWtXw72wkBKc/W2EXDTtjZNo
21
+ nIZrLlBmFnITl1ZlpUQNkF1cEJ4CSSzXBSGErs3AR0YqqP2KpPH8iEOYiiVdWZ+l
22
+ tj8gzuYw+N9NMch3EhGyQ/KPa2x2/yiD3Aocctvpn/BKEXXPPQ/vhUcKWwNYKHas
23
+ jRgs8SoR8ClmxiqlkW1JtVdilHwpmJqHGnKLIEQaRx9cbwNe4/nh78hQo66BqkC7
24
+ 9UdSxAYGRMC4tdFOMKlcs/496aka53wUyhL97gm1JumySkpFlI8yt89Tg0fO5rDp
25
+ q4/j4BTIjOiK5QaVmt2Y6U2T/hqH02hLFRC9pzvFbA+Xzrs2apFRqyPq59dpEHaC
26
+ 4z1RsypHX1dn
27
27
  -----END CERTIFICATE-----
@@ -32,8 +32,8 @@ module NerdDice
32
32
 
33
33
  def get_harvest_totals_error_message(rescued_error)
34
34
  case rescued_error.message
35
- when /`total'/ then "Each element must respond to :total."
36
- when /`map'/ then "Argument must respond to :map."
35
+ when /[`']total'/ then "Each element must respond to :total."
36
+ when /[`']map'/ then "Argument must respond to :map."
37
37
  end
38
38
  end
39
39
  end
@@ -272,6 +272,9 @@ module NerdDice
272
272
  # * Raises a NerdDice::Error if there is a mismatch
273
273
  # * Returns true if no keyword argument bonus
274
274
  # * Returns true if keyword argument bonus and method name modifier are consistent
275
+
276
+ # disabling because it is a false positive
277
+ # rubocop:disable Naming/PredicateMethod
275
278
  def check_bonus_integrity!(kwargs, bonus)
276
279
  bonus_error_message = "Bonus integrity failure: "
277
280
  bonus_error_message += "Modifier specified in keyword arguments was #{kwargs[:bonus]}. "
@@ -280,6 +283,7 @@ module NerdDice
280
283
 
281
284
  true
282
285
  end
286
+ # rubocop:enable Naming/PredicateMethod
283
287
 
284
288
  # Parses number to keep on a NerdDice::DiceSet
285
289
  # * If number_to_keep falsey, just return the DiceSet object
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NerdDice
4
- VERSION = "0.5.1"
4
+ VERSION = "0.5.3"
5
5
  end
data/nerd_dice.gemspec CHANGED
@@ -45,12 +45,4 @@ Gem::Specification.new do |spec|
45
45
 
46
46
  # Dependencies
47
47
  spec.add_dependency "securerandom", "~> 0.3", ">= 0.3.1"
48
-
49
- # Development Dependencies
50
- spec.add_development_dependency "coveralls_reborn", "~> 0.28.0"
51
- spec.add_development_dependency "rubocop", "~> 1.60", ">= 1.60.2"
52
- spec.add_development_dependency "rubocop-performance", "~> 1.20", ">= 1.20.2"
53
- spec.add_development_dependency "rubocop-rake", "~> 0.6", ">= 0.6.0"
54
- spec.add_development_dependency "rubocop-rspec", "~> 2.26", ">= 2.26.1"
55
- spec.add_development_dependency "simplecov-lcov", "~> 0.8.0"
56
48
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,42 +1,41 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nerd_dice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Duchemin
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain:
11
10
  - |
12
11
  -----BEGIN CERTIFICATE-----
13
12
  MIIEhTCCAu2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBEMRYwFAYDVQQDDA1zdGF0
14
13
  ZWxlc3Njb2RlMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZ
15
- FgNjb20wHhcNMjQwMjI1MDUwMjMyWhcNMjUwMjI0MDUwMjMyWjBEMRYwFAYDVQQD
14
+ FgNjb20wHhcNMjYwMzEzMjMyOTM2WhcNMjcwMzEzMjMyOTM2WjBEMRYwFAYDVQQD
16
15
  DA1zdGF0ZWxlc3Njb2RlMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJ
17
- k/IsZAEZFgNjb20wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCz9RjM
18
- NA1l7x1CnXU3JTpGkusa8eC6x+w3JV7JxbCPkVDBLWfpl79AkBmsZwwifc7u1y5K
19
- GFdmLLy24IUDIQzbspCCLkEUZdWXYzTY/7eXlSQOOx8q2OsJULyhPsjq6rUa1pfT
20
- tuf8Sw+Tw2xTKt9laxLQa6GXGd5SULz1jzy9LszRNuokJ78V74Oe0jlQSQLG+Cbi
21
- lvd40aN1mhZCUnGQYY+gYtGYvw+/YH+uUtg1ssVrG7V7MrPnRFr0jeqFEGubWXi+
22
- apY8ggcxW5imvHIxKf78yGG2Cq5Q2CHo3N98jrVbF1GWex6EZ3+Jst5dzehVdt6o
23
- MEslF+tE5b2YEcxYv5/PEimH5BNdeRJoT6AoCCjogbBt8is2A69PwtTNdLEkk393
24
- meBqYa4wGHE+5Drmjpld/DzsEroqMtQD1RPi8gIEEVlp/onuOBJwHPFRbEDHiA/+
25
- PtyFW3ARFpjIxKl315kcbBsyhe/hC5eKdfGjpg3OBE9JO9pW0gNXrfwVCPcCAwEA
26
- AaOBgTB/MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRejpfAnhl1
27
- ZJdbNK4qO1ergHf1iDAiBgNVHREEGzAZgRdzdGF0ZWxlc3Njb2RlQGdtYWlsLmNv
16
+ k/IsZAEZFgNjb20wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQDZ5mM8
17
+ 2FOF+wszAmvmx8GrSBYsvuibXtqLHHlZ5Bgq70ru3awGoN+pILZvbGRPLzm79Mpp
18
+ V2NgshEdHX/5Sn/VMgEzZsVDO2ZI1d+86QLEoZYwyHcdhadDIp4yFJGYcGTVrqm7
19
+ dwyPyGQpVhLdbDT3xbRJEZnxQSFxngaM6X47DYx7QmFo5dTq3IdVF196VgOAzDbq
20
+ bi++8bvfqPDLRoPSp1IKFuKV3wch0s27fHkyeKlJR2i5AllDR7REveEoj7abJWIp
21
+ ntex/8pJfz91x1/SdcsIgphJOWDKlRp6aajNtktBbOSd4YY+UBIpzb64rvegDnkX
22
+ WBeNhnrIvMQnKwjHd/U7omTfZ26LJp+0BrZY8J3iL35s2opGUgcIszELtTODh8j4
23
+ wBhVCUIELMbhh+Gnocrc9yuEVd52zGDvnzzdcD9IwcB0Y6u47DSsonn0vbFNQqu6
24
+ Xxd0VUL3VidxrUfKWstm7YTub5/QEM9eONWavYD9pXhCtMjWgyCXxM3a510CAwEA
25
+ AaOBgTB/MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBTAbHT+BHUg
26
+ KzrLnfVRSsXLu11CejAiBgNVHREEGzAZgRdzdGF0ZWxlc3Njb2RlQGdtYWlsLmNv
28
27
  bTAiBgNVHRIEGzAZgRdzdGF0ZWxlc3Njb2RlQGdtYWlsLmNvbTANBgkqhkiG9w0B
29
- AQsFAAOCAYEAKA+iULYm39HmXoR9a5TC3BbvlZKX1GBx9BXG4ukR1URs453Jggsg
30
- FMA/Y2QTG7UekkYs+Dj5KAf10rA9fhxRjqKCmvVXpRqLifF4eJDv1zkXOv4/0KVm
31
- xUBMDFKxzYPyuIw3RrwiW2Zsv9C67cD108LIOJ2ieqDHmW/vSrysYcjf5iQuVz98
32
- 7nKraLZJRukjFo01lYCLu2Wz6Ey+3WodcRmArrcWFaYnz2WsX1WMB4HTK9F1a4WA
33
- HdOa8ywu3BeV9D6S7630G9AhIqK01NSGv7v7/BLj8dkIovGU3ZGOS/dt1C+SIGPU
34
- eqrWOdAE4uMEoaV4Wg/99C5Wh492EMkfc21e94txLrjwsrpCmQ/rJ3C9m9sNJc2x
35
- 9K9Wl/3ET4PcRcOkctsJGKWRMW+KY5LEUSxMg0jURQIR0cKDfv/zGmvBAkvG6ULq
36
- XSkYcMWowop72jQqf0edJiaEIypupYqx/DPoKRyroiNl3LXwfjZzjd1wZSrM2A+s
37
- iOVXSt3E06vw
28
+ AQsFAAOCAYEAA8teSMrWZvoa8KhM9G4JDkm5pWxMCg6O5LI6yH+Hl3QcyUscXGTt
29
+ G+WEngF/EIOR/ZrkWC7K4oxgHsWKtFIxWJEnwrCCxs5zTkkwqf0WLE0epNq7jafD
30
+ WRXrvxNqgXeGu041R5XJuvcgAj7ALhielnizpK0InWtXw72wkBKc/W2EXDTtjZNo
31
+ nIZrLlBmFnITl1ZlpUQNkF1cEJ4CSSzXBSGErs3AR0YqqP2KpPH8iEOYiiVdWZ+l
32
+ tj8gzuYw+N9NMch3EhGyQ/KPa2x2/yiD3Aocctvpn/BKEXXPPQ/vhUcKWwNYKHas
33
+ jRgs8SoR8ClmxiqlkW1JtVdilHwpmJqHGnKLIEQaRx9cbwNe4/nh78hQo66BqkC7
34
+ 9UdSxAYGRMC4tdFOMKlcs/496aka53wUyhL97gm1JumySkpFlI8yt89Tg0fO5rDp
35
+ q4/j4BTIjOiK5QaVmt2Y6U2T/hqH02hLFRC9pzvFbA+Xzrs2apFRqyPq59dpEHaC
36
+ 4z1RsypHX1dn
38
37
  -----END CERTIFICATE-----
39
- date: 2024-02-25 00:00:00.000000000 Z
38
+ date: 1980-01-02 00:00:00.000000000 Z
40
39
  dependencies:
41
40
  - !ruby/object:Gem::Dependency
42
41
  name: securerandom
@@ -58,114 +57,6 @@ dependencies:
58
57
  - - ">="
59
58
  - !ruby/object:Gem::Version
60
59
  version: 0.3.1
61
- - !ruby/object:Gem::Dependency
62
- name: coveralls_reborn
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: 0.28.0
68
- type: :development
69
- prerelease: false
70
- version_requirements: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - "~>"
73
- - !ruby/object:Gem::Version
74
- version: 0.28.0
75
- - !ruby/object:Gem::Dependency
76
- name: rubocop
77
- requirement: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - "~>"
80
- - !ruby/object:Gem::Version
81
- version: '1.60'
82
- - - ">="
83
- - !ruby/object:Gem::Version
84
- version: 1.60.2
85
- type: :development
86
- prerelease: false
87
- version_requirements: !ruby/object:Gem::Requirement
88
- requirements:
89
- - - "~>"
90
- - !ruby/object:Gem::Version
91
- version: '1.60'
92
- - - ">="
93
- - !ruby/object:Gem::Version
94
- version: 1.60.2
95
- - !ruby/object:Gem::Dependency
96
- name: rubocop-performance
97
- requirement: !ruby/object:Gem::Requirement
98
- requirements:
99
- - - "~>"
100
- - !ruby/object:Gem::Version
101
- version: '1.20'
102
- - - ">="
103
- - !ruby/object:Gem::Version
104
- version: 1.20.2
105
- type: :development
106
- prerelease: false
107
- version_requirements: !ruby/object:Gem::Requirement
108
- requirements:
109
- - - "~>"
110
- - !ruby/object:Gem::Version
111
- version: '1.20'
112
- - - ">="
113
- - !ruby/object:Gem::Version
114
- version: 1.20.2
115
- - !ruby/object:Gem::Dependency
116
- name: rubocop-rake
117
- requirement: !ruby/object:Gem::Requirement
118
- requirements:
119
- - - "~>"
120
- - !ruby/object:Gem::Version
121
- version: '0.6'
122
- - - ">="
123
- - !ruby/object:Gem::Version
124
- version: 0.6.0
125
- type: :development
126
- prerelease: false
127
- version_requirements: !ruby/object:Gem::Requirement
128
- requirements:
129
- - - "~>"
130
- - !ruby/object:Gem::Version
131
- version: '0.6'
132
- - - ">="
133
- - !ruby/object:Gem::Version
134
- version: 0.6.0
135
- - !ruby/object:Gem::Dependency
136
- name: rubocop-rspec
137
- requirement: !ruby/object:Gem::Requirement
138
- requirements:
139
- - - "~>"
140
- - !ruby/object:Gem::Version
141
- version: '2.26'
142
- - - ">="
143
- - !ruby/object:Gem::Version
144
- version: 2.26.1
145
- type: :development
146
- prerelease: false
147
- version_requirements: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - "~>"
150
- - !ruby/object:Gem::Version
151
- version: '2.26'
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- version: 2.26.1
155
- - !ruby/object:Gem::Dependency
156
- name: simplecov-lcov
157
- requirement: !ruby/object:Gem::Requirement
158
- requirements:
159
- - - "~>"
160
- - !ruby/object:Gem::Version
161
- version: 0.8.0
162
- type: :development
163
- prerelease: false
164
- version_requirements: !ruby/object:Gem::Requirement
165
- requirements:
166
- - - "~>"
167
- - !ruby/object:Gem::Version
168
- version: 0.8.0
169
60
  description: |2
170
61
  Nerd dice allows you to roll polyhedral dice and add bonuses as you would in
171
62
  a tabletop roleplaying game. You can choose to roll multiple dice and keep a
@@ -190,7 +81,6 @@ files:
190
81
  - CHANGELOG.md
191
82
  - CONTRIBUTING.md
192
83
  - Gemfile
193
- - Gemfile.lock
194
84
  - LICENSE.txt
195
85
  - README.md
196
86
  - Rakefile
@@ -241,7 +131,6 @@ metadata:
241
131
  documentation_uri: https://github.com/statelesscode/nerd_dice/README.md
242
132
  github_repo: https://github.com/statelesscode/nerd_dice
243
133
  rubygems_mfa_required: 'true'
244
- post_install_message:
245
134
  rdoc_options: []
246
135
  require_paths:
247
136
  - lib
@@ -256,8 +145,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
256
145
  - !ruby/object:Gem::Version
257
146
  version: '0'
258
147
  requirements: []
259
- rubygems_version: 3.5.6
260
- signing_key:
148
+ rubygems_version: 4.0.3
261
149
  specification_version: 4
262
150
  summary: A Ruby Gem for rolling polyhedral dice.
263
151
  test_files: []
metadata.gz.sig CHANGED
Binary file
data/Gemfile.lock DELETED
@@ -1,100 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- nerd_dice (0.5.1)
5
- securerandom (~> 0.3, >= 0.3.1)
6
-
7
- GEM
8
- remote: https://rubygems.org/
9
- specs:
10
- ast (2.4.2)
11
- coveralls_reborn (0.28.0)
12
- simplecov (~> 0.22.0)
13
- term-ansicolor (~> 1.7)
14
- thor (~> 1.2)
15
- tins (~> 1.32)
16
- diff-lcs (1.5.1)
17
- docile (1.4.0)
18
- json (2.7.1)
19
- language_server-protocol (3.17.0.3)
20
- parallel (1.24.0)
21
- parser (3.3.0.5)
22
- ast (~> 2.4.1)
23
- racc
24
- racc (1.7.3)
25
- rainbow (3.1.1)
26
- rake (13.1.0)
27
- regexp_parser (2.9.0)
28
- rexml (3.2.6)
29
- rspec (3.13.0)
30
- rspec-core (~> 3.13.0)
31
- rspec-expectations (~> 3.13.0)
32
- rspec-mocks (~> 3.13.0)
33
- rspec-core (3.13.0)
34
- rspec-support (~> 3.13.0)
35
- rspec-expectations (3.13.0)
36
- diff-lcs (>= 1.2.0, < 2.0)
37
- rspec-support (~> 3.13.0)
38
- rspec-mocks (3.13.0)
39
- diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.13.0)
41
- rspec-support (3.13.1)
42
- rubocop (1.60.2)
43
- json (~> 2.3)
44
- language_server-protocol (>= 3.17.0)
45
- parallel (~> 1.10)
46
- parser (>= 3.3.0.2)
47
- rainbow (>= 2.2.2, < 4.0)
48
- regexp_parser (>= 1.8, < 3.0)
49
- rexml (>= 3.2.5, < 4.0)
50
- rubocop-ast (>= 1.30.0, < 2.0)
51
- ruby-progressbar (~> 1.7)
52
- unicode-display_width (>= 2.4.0, < 3.0)
53
- rubocop-ast (1.30.0)
54
- parser (>= 3.2.1.0)
55
- rubocop-capybara (2.20.0)
56
- rubocop (~> 1.41)
57
- rubocop-factory_bot (2.25.1)
58
- rubocop (~> 1.41)
59
- rubocop-performance (1.20.2)
60
- rubocop (>= 1.48.1, < 2.0)
61
- rubocop-ast (>= 1.30.0, < 2.0)
62
- rubocop-rake (0.6.0)
63
- rubocop (~> 1.0)
64
- rubocop-rspec (2.26.1)
65
- rubocop (~> 1.40)
66
- rubocop-capybara (~> 2.17)
67
- rubocop-factory_bot (~> 2.22)
68
- ruby-progressbar (1.13.0)
69
- securerandom (0.3.1)
70
- simplecov (0.22.0)
71
- docile (~> 1.1)
72
- simplecov-html (~> 0.11)
73
- simplecov_json_formatter (~> 0.1)
74
- simplecov-html (0.12.3)
75
- simplecov-lcov (0.8.0)
76
- simplecov_json_formatter (0.1.4)
77
- sync (0.5.0)
78
- term-ansicolor (1.7.1)
79
- tins (~> 1.0)
80
- thor (1.3.0)
81
- tins (1.32.1)
82
- sync
83
- unicode-display_width (2.5.0)
84
-
85
- PLATFORMS
86
- ruby
87
-
88
- DEPENDENCIES
89
- coveralls_reborn (~> 0.28.0)
90
- nerd_dice!
91
- rake (~> 13.0)
92
- rspec (~> 3.12)
93
- rubocop (~> 1.60, >= 1.60.2)
94
- rubocop-performance (~> 1.20, >= 1.20.2)
95
- rubocop-rake (~> 0.6, >= 0.6.0)
96
- rubocop-rspec (~> 2.26, >= 2.26.1)
97
- simplecov-lcov (~> 0.8.0)
98
-
99
- BUNDLED WITH
100
- 2.2.22