nerd_dice 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7a931b4532dcafcb4ce3aeddf3ac30399bb9334d25bf78671a0811366670d719
4
- data.tar.gz: 970d96a32b68dc1fc75618376bf059707c5c711441d30edd6302dcd37e831c8b
3
+ metadata.gz: 88266e9421830d581588170f03cab85b95f95b0f3727c943ae36aa590c6ef338
4
+ data.tar.gz: 98e7fdc98609de1776400f3b4e8d04bbeff92fb0ef06814c06c967abcfd68a48
5
5
  SHA512:
6
- metadata.gz: 5cdbd36e786d2c4e6f8950f4486119548bb1a62babdbf3c9ae4fadba095170b9300461411926d19ca50e5e8d277804c3f8cb61e28d96605fd5fad8b7e9c9b700
7
- data.tar.gz: 21b2b92dbf7ad4060a888d267383e9c87b3e310dff4931bb1853f401fb417f480a2bea7cca859ad75d3eac83608a4631541a36afc7449955a68ea8ff84c319c7
6
+ metadata.gz: 8e0622aaeee447750ab14395eae84241ced009ff12986c29cb44c903669c7d0e5caed1916dd9693db1fc6da9c9af67bbe9ce2c845f9fa17d85c6a9614e9d9d2b
7
+ data.tar.gz: c9b50c852027d64160a294aaca650ab882423984a8e79159214dc1ec5e8dd5ce7daa3b13507c616b2c8f218f1ade1f752890080ce7e16b52922992d3c8d49b51
checksums.yaml.gz.sig CHANGED
Binary file
@@ -0,0 +1,67 @@
1
+ # This is a basic workflow to help you get started with Actions
2
+
3
+ name: Nerd Dice CI
4
+
5
+ # Controls when the action will run.
6
+ on: [push, pull_request]
7
+
8
+ # Allows you to run this workflow manually from the Actions tab
9
+ # workflow_dispatch:
10
+
11
+ jobs:
12
+ test_rspec:
13
+
14
+ runs-on: ubuntu-latest
15
+ strategy:
16
+ matrix:
17
+ ruby-version: ['3.0', '3.1', '3.2']
18
+
19
+ steps:
20
+ - uses: actions/checkout@v2
21
+ - name: Set up Ruby
22
+ uses: ruby/setup-ruby@v1
23
+ with:
24
+ ruby-version: ${{ matrix.ruby-version }}
25
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
26
+ - name: Run tests
27
+ run: bundle exec rake
28
+ - name: Coveralls Parallel
29
+ uses: coverallsapp/github-action@master
30
+ with:
31
+ github-token: ${{ secrets.github_token }}
32
+ flag-name: run-${{ matrix.test_number }}
33
+ parallel: true
34
+
35
+ rubocop:
36
+ runs-on: ubuntu-latest
37
+ steps:
38
+ - uses: actions/checkout@v2
39
+ - name: Set up Ruby
40
+ uses: ruby/setup-ruby@v1
41
+ with:
42
+ ruby-version: '3.2'
43
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
44
+ - name: Run rubocop
45
+ run: bundle exec rubocop --parallel
46
+
47
+ benchmark:
48
+ runs-on: ubuntu-latest
49
+ steps:
50
+ - uses: actions/checkout@v2
51
+ - name: Set up Ruby
52
+ uses: ruby/setup-ruby@v1
53
+ with:
54
+ ruby-version: '3.2'
55
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
56
+ - name: Run benchmark script
57
+ run: bin/nerd_dice_benchmark
58
+
59
+ finish:
60
+ needs: test_rspec
61
+ runs-on: ubuntu-latest
62
+ steps:
63
+ - name: Coveralls Finished
64
+ uses: coverallsapp/github-action@master
65
+ with:
66
+ github-token: ${{ secrets.github_token }}
67
+ parallel-finished: true
data/.rubocop.yml CHANGED
@@ -1,3 +1,11 @@
1
+ # RuboCop configuration file for NerdDice gem
2
+ #
3
+ # This is the RuboCop configuration for the gem. By default new cops are enabled
4
+ # by default when the RuboCop gems are updated in the bundle. Before the would
5
+ # show up as warnings until they were added to the configuration file. Now they
6
+ # will be enabled by default, and a case-by-case descision can be made whether
7
+ # to exclude new violations in the configuration explicitly or update the
8
+ # codebase to the gem to conform to the new standard.
1
9
  require:
2
10
  - rubocop-performance
3
11
  - rubocop-rake
@@ -8,14 +16,12 @@ AllCops:
8
16
  # RuboCop has a bunch of cops enabled by default. This setting tells RuboCop
9
17
  # to ignore them, so only the ones explicitly set in this file are enabled.
10
18
  #DisabledByDefault: true
19
+
20
+ # New cops are now enabled by default as of 2023-02-20
21
+ NewCops: enable
11
22
  Exclude:
12
23
  - '**/templates/**/*'
13
24
  - '**/vendor/**/*'
14
- - 'node_modules/**/*'
15
-
16
- Performance:
17
- Exclude:
18
- - '**/test/**/*'
19
25
 
20
26
  # Prefer &&/|| over and/or.
21
27
  Style/AndOr:
@@ -111,15 +117,6 @@ Style/MethodDefParentheses:
111
117
  Style/FrozenStringLiteralComment:
112
118
  Enabled: true
113
119
  EnforcedStyle: always
114
- Exclude:
115
- - 'actionview/test/**/*.builder'
116
- - 'actionview/test/**/*.ruby'
117
- - 'actionpack/test/**/*.builder'
118
- - 'actionpack/test/**/*.ruby'
119
- - 'activestorage/db/migrate/**/*.rb'
120
- - 'activestorage/db/update_migrate/**/*.rb'
121
- - 'actionmailbox/db/migrate/**/*.rb'
122
- - 'actiontext/db/migrate/**/*.rb'
123
120
 
124
121
  Style/RedundantFreeze:
125
122
  Enabled: true
@@ -191,30 +188,6 @@ Lint/UselessAssignment:
191
188
  Lint/DeprecatedClassMethods:
192
189
  Enabled: true
193
190
 
194
- Lint/DuplicateBranch: # (new in 1.3)
195
- Enabled: true
196
-
197
- Lint/DuplicateRegexpCharacterClassElement: # (new in 1.1)
198
- Enabled: true
199
-
200
- Lint/EmptyBlock: # (new in 1.1)
201
- Enabled: true
202
-
203
- Lint/EmptyClass: # (new in 1.3)
204
- Enabled: true
205
-
206
- Lint/NoReturnInBeginEndBlocks: # (new in 1.2)
207
- Enabled: true
208
-
209
- Lint/ToEnumArguments: # (new in 1.1)
210
- Enabled: true
211
-
212
- Lint/UnexpectedBlockArity: # (new in 1.5)
213
- Enabled: true
214
-
215
- Lint/UnmodifiedReduceAccumulator: # (new in 1.1)
216
- Enabled: true
217
-
218
191
  Style/ParenthesesAroundCondition:
219
192
  Enabled: true
220
193
 
@@ -236,27 +209,6 @@ Style/ColonMethodCall:
236
209
  Style/TrivialAccessors:
237
210
  Enabled: true
238
211
 
239
- Style/ArgumentsForwarding: # (new in 1.1)
240
- Enabled: true
241
-
242
- Style/CollectionCompact: # (new in 1.2)
243
- Enabled: true
244
-
245
- Style/DocumentDynamicEvalDefinition: # (new in 1.1)
246
- Enabled: true
247
-
248
- Style/NegatedIfElseCondition: # (new in 1.2)
249
- Enabled: true
250
-
251
- Style/NilLambda: # (new in 1.3)
252
- Enabled: true
253
-
254
- Style/RedundantArgument: # (new in 1.4)
255
- Enabled: true
256
-
257
- Style/SwapValues: # (new in 1.1)
258
- Enabled: true
259
-
260
212
  Performance/FlatMap:
261
213
  Enabled: true
262
214
 
@@ -275,62 +227,9 @@ Performance/RegexpMatch:
275
227
  Performance/UnfreezeString:
276
228
  Enabled: true
277
229
 
278
- Performance/AncestorsInclude: # (new in 1.7)
279
- Enabled: true
280
-
281
- Performance/BigDecimalWithNumericArgument: # (new in 1.7)
282
- Enabled: true
283
-
284
- Performance/BlockGivenWithExplicitBlock: # (new in 1.9)
285
- Enabled: true
286
-
287
- Performance/CollectionLiteralInLoop: # (new in 1.8)
288
- Enabled: true
289
-
290
- Performance/ConstantRegexp: # (new in 1.9)
291
- Enabled: true
292
-
293
- Performance/MethodObjectAsBlock: # (new in 1.9)
294
- Enabled: true
295
-
296
- Performance/RedundantSortBlock: # (new in 1.7)
297
- Enabled: true
298
-
299
- Performance/RedundantStringChars: # (new in 1.7)
300
- Enabled: true
301
-
302
- Performance/ReverseFirst: # (new in 1.7)
303
- Enabled: true
304
-
305
- Performance/SortReverse: # (new in 1.7)
306
- Enabled: true
307
-
308
- Performance/Squeeze: # (new in 1.7)
309
- Enabled: true
310
-
311
- Performance/StringInclude: # (new in 1.7)
312
- Enabled: true
313
-
314
- Performance/Sum: # (new in 1.8)
315
- Enabled: true
316
-
317
- Layout/SpaceBeforeBrackets: # (new in 1.7)
318
- Enabled: true
319
-
320
- Lint/AmbiguousAssignment: # (new in 1.7)
321
- Enabled: true
230
+ RSpec/MessageSpies:
231
+ EnforcedStyle: receive
322
232
 
323
- Lint/DeprecatedConstants: # (new in 1.8)
324
- Enabled: true
325
-
326
- Lint/LambdaWithoutLiteralBlock: # (new in 1.8)
327
- Enabled: true
328
-
329
- Lint/RedundantDirGlobSort: # (new in 1.8)
330
- Enabled: true
331
-
332
- Style/EndlessMethod: # (new in 1.8)
333
- Enabled: true
334
-
335
- Style/HashExcept: # (new in 1.7)
336
- Enabled: true
233
+ # Disable inclusive language cop. None of RuboCop's business
234
+ Naming/InclusiveLanguage:
235
+ Enabled: false
data/CHANGELOG.md CHANGED
@@ -1,42 +1,8 @@
1
1
  # Nerd Dice Changelog
2
2
 
3
- ## master \(unreleased\)
4
- ### Added
5
- ### Changed
6
- ### Fixed
3
+ <img src="https://i.kym-cdn.com/photos/images/newsfeed/000/186/610/thankyou.png?1318726198" alt="Our CHANGELOG is in another castle" />
7
4
 
8
- ## 0.2.0 \(2020-12-12\)
9
- ### Added
10
- * Add ability to configure with `NerdDice.configure` block or `NerdDice.configuration`
11
- - Configure `randomization_technique` as `:random_rand`, `:securerandom`, `:random_object`, or `randomized`
12
- - Configure `refresh_seed_interval` to allow a periodic refresh of the seed
13
- * Add `randomization_technique` option to `NerdDice.total_dice` method keyword arguments
14
- * Add a lower-level `execute_die_roll` method that allows you to roll a single die with a generator specified
15
- * Add ability to manually refresh or specify seed with `:refresh_seed!` method
16
- ### Changed
17
- * Change `opts = {}` final argument to use keyword args `**opts` in the `NerdDice.total_dice` method. Now the method can be called as follows:
18
- ```ruby
19
- # old
20
- NerdDice.total_dice(20, 1, {bonus: 5})
21
- NerdDice.total_dice(6, 3, {bonus: 1})
5
+ ## Legacy Branch: See master
6
+ This is a legacy maintenance branch.
22
7
 
23
- # new
24
- NerdDice.total_dice(20, bonus: 5)
25
- NerdDice.total_dice(6, 3, bonus: 1)
26
- ```
27
- * Call `:to_i` on bonus instead of using `:is_a?` and raise ArgumentError in the `NerdDice.total_dice` method if it doesn't respond to `:to_i`
28
- * Added `securerandom` as an explicit dependency due to Ruby 3.x change to bundled gem
29
- * `total_dice` no longer calls unqualified `.rand` which improves performance on all generators except for `:securerandom`
30
- ### Fixed
31
-
32
- ## 0.1.1 \(2020-12-12\)
33
- ### Added
34
- ### Changed
35
- ### Fixed
36
- * Fix broken link to CHANGELOG in gemspec
37
- * Fix rubocop offenses from 0.1.0 and refactor specs
38
-
39
- ## 0.1.0 \(2020-12-07\)
40
-
41
- ### Added
42
- * Add NerdDice.total_dice class method with the ability to roll multiple polyhedral dice and add a bonus
8
+ The [authoritative version of the CHANGELOG](https://github.com/statelesscode/nerd_dice/blob/master/CHANGELOG.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,5 @@ source "https://rubygems.org"
5
5
  # Specify your gem's dependencies in nerd_dice.gemspec
6
6
  gemspec
7
7
 
8
- gem "rake", "~> 12.0"
9
- gem "rspec", "~> 3.0"
8
+ gem "rake", "~> 13.0"
9
+ gem "rspec", "~> 3.12"
data/Gemfile.lock CHANGED
@@ -1,68 +1,93 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nerd_dice (0.2.0)
5
- securerandom (~> 0.1, >= 0.1.0)
4
+ nerd_dice (0.2.1)
5
+ securerandom (~> 0.2, >= 0.2.2)
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  ast (2.4.2)
11
- diff-lcs (1.4.4)
12
- parallel (1.20.1)
13
- parser (3.0.0.0)
11
+ coveralls_reborn (0.27.0)
12
+ simplecov (~> 0.22.0)
13
+ term-ansicolor (~> 1.7)
14
+ thor (~> 1.2)
15
+ tins (~> 1.32)
16
+ diff-lcs (1.5.0)
17
+ docile (1.4.0)
18
+ json (2.6.3)
19
+ parallel (1.22.1)
20
+ parser (3.2.1.0)
14
21
  ast (~> 2.4.1)
15
- rainbow (3.0.0)
16
- rake (12.3.3)
17
- regexp_parser (2.0.3)
18
- rexml (3.2.4)
19
- rspec (3.10.0)
20
- rspec-core (~> 3.10.0)
21
- rspec-expectations (~> 3.10.0)
22
- rspec-mocks (~> 3.10.0)
23
- rspec-core (3.10.1)
24
- rspec-support (~> 3.10.0)
25
- rspec-expectations (3.10.1)
22
+ rainbow (3.1.1)
23
+ rake (13.0.6)
24
+ regexp_parser (2.7.0)
25
+ rexml (3.2.5)
26
+ rspec (3.12.0)
27
+ rspec-core (~> 3.12.0)
28
+ rspec-expectations (~> 3.12.0)
29
+ rspec-mocks (~> 3.12.0)
30
+ rspec-core (3.12.1)
31
+ rspec-support (~> 3.12.0)
32
+ rspec-expectations (3.12.2)
26
33
  diff-lcs (>= 1.2.0, < 2.0)
27
- rspec-support (~> 3.10.0)
28
- rspec-mocks (3.10.1)
34
+ rspec-support (~> 3.12.0)
35
+ rspec-mocks (3.12.3)
29
36
  diff-lcs (>= 1.2.0, < 2.0)
30
- rspec-support (~> 3.10.0)
31
- rspec-support (3.10.1)
32
- rubocop (1.8.1)
37
+ rspec-support (~> 3.12.0)
38
+ rspec-support (3.12.0)
39
+ rubocop (1.46.0)
40
+ json (~> 2.3)
33
41
  parallel (~> 1.10)
34
- parser (>= 3.0.0.0)
42
+ parser (>= 3.2.0.0)
35
43
  rainbow (>= 2.2.2, < 4.0)
36
44
  regexp_parser (>= 1.8, < 3.0)
37
- rexml
38
- rubocop-ast (>= 1.2.0, < 2.0)
45
+ rexml (>= 3.2.5, < 4.0)
46
+ rubocop-ast (>= 1.26.0, < 2.0)
39
47
  ruby-progressbar (~> 1.7)
40
- unicode-display_width (>= 1.4.0, < 3.0)
41
- rubocop-ast (1.4.1)
42
- parser (>= 2.7.1.5)
43
- rubocop-performance (1.9.2)
44
- rubocop (>= 0.90.0, < 2.0)
48
+ unicode-display_width (>= 2.4.0, < 3.0)
49
+ rubocop-ast (1.26.0)
50
+ parser (>= 3.2.1.0)
51
+ rubocop-capybara (2.17.1)
52
+ rubocop (~> 1.41)
53
+ rubocop-performance (1.16.0)
54
+ rubocop (>= 1.7.0, < 2.0)
45
55
  rubocop-ast (>= 0.4.0)
46
- rubocop-rake (0.5.1)
47
- rubocop
48
- rubocop-rspec (2.1.0)
56
+ rubocop-rake (0.6.0)
49
57
  rubocop (~> 1.0)
50
- rubocop-ast (>= 1.1.0)
58
+ rubocop-rspec (2.18.1)
59
+ rubocop (~> 1.33)
60
+ rubocop-capybara (~> 2.17)
51
61
  ruby-progressbar (1.11.0)
52
- securerandom (0.1.0)
53
- unicode-display_width (2.0.0)
62
+ securerandom (0.2.2)
63
+ simplecov (0.22.0)
64
+ docile (~> 1.1)
65
+ simplecov-html (~> 0.11)
66
+ simplecov_json_formatter (~> 0.1)
67
+ simplecov-html (0.12.3)
68
+ simplecov-lcov (0.8.0)
69
+ simplecov_json_formatter (0.1.4)
70
+ sync (0.5.0)
71
+ term-ansicolor (1.7.1)
72
+ tins (~> 1.0)
73
+ thor (1.2.1)
74
+ tins (1.32.1)
75
+ sync
76
+ unicode-display_width (2.4.2)
54
77
 
55
78
  PLATFORMS
56
79
  ruby
57
80
 
58
81
  DEPENDENCIES
82
+ coveralls_reborn (~> 0.27.0)
59
83
  nerd_dice!
60
- rake (~> 12.0)
61
- rspec (~> 3.0)
62
- rubocop (~> 1.8, >= 1.8.1)
63
- rubocop-performance (~> 1.9, >= 1.9.1)
64
- rubocop-rake (~> 0.5, >= 0.5.1)
65
- rubocop-rspec (~> 2.1, >= 2.1.0)
84
+ rake (~> 13.0)
85
+ rspec (~> 3.12)
86
+ rubocop (~> 1.46, >= 1.46.0)
87
+ rubocop-performance (~> 1.16, >= 1.16.0)
88
+ rubocop-rake (~> 0.6, >= 0.6.0)
89
+ rubocop-rspec (~> 2.18, >= 2.18.1)
90
+ simplecov-lcov (~> 0.8.0)
66
91
 
67
92
  BUNDLED WITH
68
- 2.2.3
93
+ 2.2.22
data/README.md CHANGED
@@ -1,3 +1,6 @@
1
+ [![Coverage Status](https://coveralls.io/repos/github/statelesscode/nerd_dice/badge.svg?branch=master)](https://coveralls.io/github/statelesscode/nerd_dice?branch=master)
2
+ ![Build](https://github.com/statelesscode/nerd_dice/actions/workflows/main.yml/badge.svg)
3
+ [![Maintainability](https://api.codeclimate.com/v1/badges/721f587b792d583065be/maintainability)](https://codeclimate.com/github/statelesscode/nerd_dice/maintainability)
1
4
  # NerdDice
2
5
  Nerd dice allows you to roll polyhedral dice and add bonuses as you would in a tabletop roleplaying game. You can choose to roll multiple dice and keep a specified number of dice such as rolling 4d6 and dropping the lowest for ability scores or rolling with advantage and disadvantage if those mechanics exist in your game.
3
6
 
@@ -85,8 +88,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
85
88
 
86
89
  ## Contributing
87
90
 
88
- Bug reports and pull requests are welcome on GitHub at https://github.com/statelesscode/nerd_dice/issues. We welcome and encourage your participation in this open-source project. We welcome those of all backgrounds and abilities, but we refuse to adopt the Contributor Covenant for reasons outlined in [BURN_THE_CONTRIBUTOR_COVENANT_WITH_FIRE.md](https://github.com/statelesscode/nerd_dice/blob/master/BURN_THE_CONTRIBUTOR_COVENANT_WITH_FIRE.md)
89
-
91
+ Bug reports and pull requests are welcome on GitHub at https://github.com/statelesscode/nerd_dice/issues. We welcome and encourage your participation in this open-source project. We welcome those of all backgrounds and abilities, but we refuse to adopt the Contributor Covenant for reasons outlined in [BURN_THE_CONTRIBUTOR_COVENANT_WITH_FIRE.md](BURN_THE_CONTRIBUTOR_COVENANT_WITH_FIRE.md)
90
92
 
91
93
  ## Unlicense, License, and Copyright
92
94
 
@@ -7,7 +7,7 @@ version = ARGV[0]
7
7
  built_gem_path = "pkg/nerd_dice-#{version}.gem"
8
8
  checksum = Digest::SHA512.new.hexdigest(File.read(built_gem_path))
9
9
  checksum_path = "checksum/nerd_dice-#{version}.gem.sha512"
10
- File.open(checksum_path, "w") { |f| f.write(checksum) }
10
+ File.write(checksum_path, checksum)
11
11
  sha256 = Digest::SHA256.new.hexdigest(File.read(built_gem_path))
12
12
  checksum_256_path = "checksum/nerd_dice-#{version}.gem.sha256"
13
- File.open(checksum_256_path, "w") { |f| f.write(sha256) }
13
+ File.write(checksum_256_path, sha256)
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "bundler/setup"
5
+ require "benchmark"
6
+ require "nerd_dice"
7
+
8
+ n = 50_000
9
+
10
+ RATIOS = {
11
+ nerd_dice_securerandom: 1.7,
12
+ nerd_dice_random_rand: 11.1,
13
+ nerd_dice_random_object: 13.0,
14
+ nerd_dice_randomized: 5.5,
15
+ nerd_dice_securerandom_3d6: 5.5,
16
+ nerd_dice_random_rand_3d6: 25.0,
17
+ nerd_dice_random_object_3d6: 25.5,
18
+ nerd_dice_randomized_3d6: 14.5
19
+ }.freeze
20
+
21
+ def check_against_baseline!(baseline_value, test_value)
22
+ ratio = RATIOS[test_value.label.to_sym]
23
+ error_message = "Failed benchmark for #{test_value.label}. "
24
+ error_message += "Allowed ratio was #{ratio} actual ratio was #{test_value.real / baseline_value}"
25
+ raise NerdDice::Error, error_message if test_value.real > baseline_value * ratio
26
+ end
27
+
28
+ puts "Set baseline"
29
+ baselines = Benchmark.bmbm do |x|
30
+ # Random.rand()
31
+ x.report("Random.rand") do # standard rand()
32
+ n.times { Random.rand(1000) }
33
+ end
34
+
35
+ # SecureRandom.rand()
36
+ x.report("Sec.rand") do
37
+ n.times { SecureRandom.rand(1000) }
38
+ end
39
+ end
40
+
41
+ random_rand_baseline = baselines[0].real
42
+ securerandom_baseline = baselines[1].real
43
+
44
+ puts "Roll d1000s"
45
+ total_dice_d1000_results = Benchmark.bmbm do |x|
46
+ # NerdDice.total_dice securerandom
47
+ x.report("nerd_dice_securerandom") do
48
+ NerdDice.configuration.randomization_technique = :securerandom
49
+ n.times { NerdDice.total_dice(1000) }
50
+ end
51
+
52
+ x.report("nerd_dice_random_rand") do
53
+ NerdDice.configuration.randomization_technique = :random_rand
54
+ n.times { NerdDice.total_dice(1000) }
55
+ end
56
+
57
+ x.report("nerd_dice_random_object") do
58
+ NerdDice.configuration.randomization_technique = :random_object
59
+ n.times { NerdDice.total_dice(1000) }
60
+ end
61
+
62
+ x.report("nerd_dice_randomized") do
63
+ NerdDice.configuration.randomization_technique = :randomized
64
+ n.times { NerdDice.total_dice(1000) }
65
+ end
66
+ end
67
+
68
+ total_dice_securerandom = total_dice_d1000_results[0]
69
+ check_against_baseline! securerandom_baseline, total_dice_securerandom
70
+ total_dice_random_rand = total_dice_d1000_results[1]
71
+ check_against_baseline! random_rand_baseline, total_dice_random_rand
72
+ total_dice_random_object = total_dice_d1000_results[2]
73
+ check_against_baseline! random_rand_baseline, total_dice_random_object
74
+ total_dice_randomized = total_dice_d1000_results[3]
75
+ check_against_baseline! ((random_rand_baseline * 0.75) + (securerandom_baseline * 0.25)), total_dice_randomized
76
+
77
+ puts "Roll 3d6"
78
+ total_dice_3d6_results = Benchmark.bmbm do |x|
79
+ # NerdDice.total_dice securerandom
80
+ x.report("nerd_dice_securerandom_3d6") do
81
+ NerdDice.configuration.randomization_technique = :securerandom
82
+ n.times { NerdDice.total_dice(6, 3) }
83
+ end
84
+
85
+ x.report("nerd_dice_random_rand_3d6") do
86
+ NerdDice.configuration.randomization_technique = :random_rand
87
+ n.times { NerdDice.total_dice(6, 3) }
88
+ end
89
+
90
+ x.report("nerd_dice_random_object_3d6") do
91
+ NerdDice.configuration.randomization_technique = :random_object
92
+ n.times { NerdDice.total_dice(6, 3) }
93
+ end
94
+
95
+ x.report("nerd_dice_randomized_3d6") do
96
+ NerdDice.configuration.randomization_technique = :randomized
97
+ n.times { NerdDice.total_dice(6, 3) }
98
+ end
99
+ end
100
+
101
+ total_dice_3d6_securerandom = total_dice_3d6_results[0]
102
+ check_against_baseline! securerandom_baseline, total_dice_3d6_securerandom
103
+ total_dice_3d6_random_rand = total_dice_3d6_results[1]
104
+ check_against_baseline! random_rand_baseline, total_dice_3d6_random_rand
105
+ total_dice_3d6_random_object = total_dice_3d6_results[2]
106
+ check_against_baseline! random_rand_baseline, total_dice_3d6_random_object
107
+ total_dice_3d6_randomized = total_dice_3d6_results[3]
108
+ check_against_baseline! ((random_rand_baseline * 0.75) + (securerandom_baseline * 0.25)), total_dice_3d6_randomized
@@ -1,26 +1,27 @@
1
1
  -----BEGIN CERTIFICATE-----
2
- MIIETTCCArWgAwIBAgIBATANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDDB1zdGF0
3
- ZWxlc3Njb2RlL0RDPWdtYWlsL0RDPWNvbTAeFw0yMDEyMDYyMzQ1NTZaFw0yMTEy
4
- MDYyMzQ1NTZaMCgxJjAkBgNVBAMMHXN0YXRlbGVzc2NvZGUvREM9Z21haWwvREM9
5
- Y29tMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAyHIMJi0o3bwBZsx5
6
- TQ35XByFsdDRsro3T+0NY7EAILtOiU04o9C2NPOp/RQE7BXQgMjGebwp6bT6QvzN
7
- 6noV4jPL7Fi5pWw08QygG7f+73YUBb+8d8o+3xGrC+UO5h1PZEtVcZwUWUG18QBE
8
- fbDinQT6P4IDQoZwhfrPCB+aBfUyQp4Ok7oD7MEWqsq9SjrSxqxfk4+oZdXUySe7
9
- Vi5vnzVQ5uFf56NHwWnNKCzJzmH84mBO5MzHaQpHNzKGJPoUmzLU5RBlCH6YXqBG
10
- KhXTMUDBWKJmJ3RDry/FpGgJLKu4wzFRYjXla6IjeKozWGuPNNJ+2mesXKhsX7bo
11
- vVCzRxPEupbEg/0FkJiWpiGlSPOdd6oJiwX8E6rlEeV605xrbOQewkbovHkYTMtG
12
- +NH+u08x0z4Oj71kmDLwuj812uS0mtrCg2VhiYO0ZCQ4XrwBsBfK+/MtMlR+o6sG
13
- /zvz/vHVJKaLTQxRp5oGo4QH6HfbOnwzTkXdZnt5AlN31ErJAgMBAAGjgYEwfzAJ
14
- BgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUC7seYydsGO6O1qT4nVVD
15
- G/LkiHYwIgYDVR0RBBswGYEXc3RhdGVsZXNzY29kZUBnbWFpbC5jb20wIgYDVR0S
16
- BBswGYEXc3RhdGVsZXNzY29kZUBnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggGB
17
- ADPRFRB1cjqdcE2O0jtqiDRmrR62uEYBiUbkRPVhyoEp/cK0TVhAs9mGWAyCWu0M
18
- LewUeqNTUvQ9MgvagcKcnxa2RTjdrP3nGnwpStMr9bm3ArNJEzvWEs0Eusk9y73x
19
- fjy0qH2pw5WPfWcKYlDehMXqOP+a4udYsz0YSNiI8qEfkDCSqTJN11d5kSjVjwGB
20
- xkauxDT68j1JZRjPmQl3dl+DCgxkoziWX2mFTPLfGg5vZ0t6gmhdUtLvJtNIo0IX
21
- 477E5UjmE1+rULQp/fsH6n5+H+t2eCED41ST+gkKbaQBUfIuUaCmdHz9sJaIIBw2
22
- 6ordFa1nrLV4w5Uf6qYFnWVhIWX4GToyZSPO2s0DPYp3PWFJ4VtzKa2vp1TR5ZEA
23
- dkij2eQ9M8bzWWmW+A7RNaI0CzLl967bKGBSaMVCsZGBarggWD8UwJnBhTuOPZGR
24
- WQ4faXJSevxT+x9TgyUNJINPkz/KqreClzdL83cwxPzFFQto7zF6zMCsj0slqJjW
25
- EQ==
2
+ MIIEhTCCAu2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBEMRYwFAYDVQQDDA1zdGF0
3
+ ZWxlc3Njb2RlMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZ
4
+ FgNjb20wHhcNMjMwMjIzMjMyMTQwWhcNMjQwMjIzMjMyMTQwWjBEMRYwFAYDVQQD
5
+ DA1zdGF0ZWxlc3Njb2RlMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJ
6
+ k/IsZAEZFgNjb20wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCxVzHS
7
+ gYszan//tjTSO0z59UO1rUiT5G0//iyhiaYIiuwxhYFbfD+wOCou4M18pQtEb4qx
8
+ o67tPfGimBAVak6fGfo8fo1ByHiKCvx3jgOjxNifT9pRFlBSr6ZvyXeu7zA0ddLr
9
+ slw92DNqeRlZXqB0mxDtpKWONGc1XhAqEjEP3VL7g7x0xPQShcpXg/OyRPR5vyv8
10
+ 66pXdFrXYZGrySfIB6ZOWFV6wGBj603rPdXOeYVeks6hKvw3wb4G1s7tvwTA5MWI
11
+ otw6Mp9TaMdms9zTc5A3N58pueKfBJfwkICkdAGJDWC6sIXECoaTDRqVK96RSH/1
12
+ 8tEPDoFYpJDOa5byX1j7srwO0B6WOtPxix7gW1wBbEp7eWSQf1k3k9XEh32SRsPq
13
+ NJObRfhkzoa9p1tPkVP3nasDTK5gtisolwhb7Vimeup54yKfT/THv2iNEnGTvK1P
14
+ sV4vC8nch88lBI1mIecmSh/mwED4Mb1dNtcyuB/+XnSI8vIzXJKAAKaT0eMCAwEA
15
+ AaOBgTB/MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRP42hSa0JV
16
+ QGDSobiGTYyfM570hjAiBgNVHREEGzAZgRdzdGF0ZWxlc3Njb2RlQGdtYWlsLmNv
17
+ bTAiBgNVHRIEGzAZgRdzdGF0ZWxlc3Njb2RlQGdtYWlsLmNvbTANBgkqhkiG9w0B
18
+ AQsFAAOCAYEANtaR6OV7p1IJOsvVgGQzVg88NIOeXrfOaEDUPb6eg4JMOSL0Cvvl
19
+ 2F7lB/ykbQcO4Oe7NucuavC7ClyG3c/V5eQ5TtPNWkMbVN9ESVR8wk5SjhiI8L35
20
+ MBxJ6YU27eyDmazQJ7eCYcRJkuyWt3KcqgsEh7JyNnKcJ/3rgf1QW0IyJiGsXM1I
21
+ SssQ/t7Ia2tVMrVMsvs834v9FRpVbO3dHdCO4t7zQBIADVcj4NqCDV10D6aji/Aa
22
+ 35YJHwlkhuZH6AYC45QHt9dW0/OLmbFwoJqW7syrso2PParyMr4YcJwucXViRiL7
23
+ l5aVpYdz/RTqdB92Mmud5Hj5zkuEE4CHBh8L8AJC5kZu/YUXXDtuECSMVhg5O84h
24
+ QsdcuygyVASmw2aliMAFXfIBDYelduG0XwjdOREN3q4SDTKP+pfBxx6OdD1RfsYF
25
+ /9HhtVbKLq34iQftF4oIH66bYDEyG5y4CLKQ8Nq0WDWq50OcaP9KpDiS21BC43SW
26
+ t+NX7PDOWx4k
26
27
  -----END CERTIFICATE-----
@@ -0,0 +1 @@
1
+ 0a2d4765e24c21fecf99229b0cc4fad806ca256d2187c45c442b25771af1b9cc
@@ -0,0 +1 @@
1
+ e345190f870eabd2a4fd6993f1a1d70d008ef8e6464767ba5697a46f7c4d6912c78a18039cec06c18dd6f0ee9f425453c078f780d36ccf65043ec3f7fba790a2
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NerdDice
4
- VERSION = "0.2.0"
4
+ VERSION = "0.2.1"
5
5
  end
data/nerd_dice.gemspec CHANGED
@@ -28,6 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.metadata["bug_tracker_uri"] = "https://github.com/statelesscode/nerd_dice/issues"
29
29
  spec.metadata["documentation_uri"] = "https://github.com/statelesscode/nerd_dice/README.md"
30
30
  spec.metadata["github_repo"] = "https://github.com/statelesscode/nerd_dice"
31
+ spec.metadata["rubygems_mfa_required"] = "true"
31
32
 
32
33
  # Specify which files should be added to the gem when it is released.
33
34
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -43,11 +44,13 @@ Gem::Specification.new do |spec|
43
44
  spec.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $PROGRAM_NAME.end_with?("gem")
44
45
 
45
46
  # Dependencies
46
- spec.add_dependency "securerandom", "~> 0.1", ">= 0.1.0"
47
+ spec.add_dependency "securerandom", "~> 0.2", ">= 0.2.2"
47
48
 
48
49
  # Development Dependencies
49
- spec.add_development_dependency "rubocop", "~> 1.8", ">= 1.8.1"
50
- spec.add_development_dependency "rubocop-performance", "~> 1.9", ">= 1.9.1"
51
- spec.add_development_dependency "rubocop-rake", "~> 0.5", ">= 0.5.1"
52
- spec.add_development_dependency "rubocop-rspec", "~> 2.1", ">= 2.1.0"
50
+ spec.add_development_dependency "coveralls_reborn", "~> 0.27.0"
51
+ spec.add_development_dependency "rubocop", "~> 1.46", ">= 1.46.0"
52
+ spec.add_development_dependency "rubocop-performance", "~> 1.16", ">= 1.16.0"
53
+ spec.add_development_dependency "rubocop-rake", "~> 0.6", ">= 0.6.0"
54
+ spec.add_development_dependency "rubocop-rspec", "~> 2.18", ">= 2.18.1"
55
+ spec.add_development_dependency "simplecov-lcov", "~> 0.8.0"
53
56
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nerd_dice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Duchemin
@@ -10,32 +10,33 @@ bindir: bin
10
10
  cert_chain:
11
11
  - |
12
12
  -----BEGIN CERTIFICATE-----
13
- MIIETTCCArWgAwIBAgIBATANBgkqhkiG9w0BAQsFADAoMSYwJAYDVQQDDB1zdGF0
14
- ZWxlc3Njb2RlL0RDPWdtYWlsL0RDPWNvbTAeFw0yMDEyMDYyMzQ1NTZaFw0yMTEy
15
- MDYyMzQ1NTZaMCgxJjAkBgNVBAMMHXN0YXRlbGVzc2NvZGUvREM9Z21haWwvREM9
16
- Y29tMIIBojANBgkqhkiG9w0BAQEFAAOCAY8AMIIBigKCAYEAyHIMJi0o3bwBZsx5
17
- TQ35XByFsdDRsro3T+0NY7EAILtOiU04o9C2NPOp/RQE7BXQgMjGebwp6bT6QvzN
18
- 6noV4jPL7Fi5pWw08QygG7f+73YUBb+8d8o+3xGrC+UO5h1PZEtVcZwUWUG18QBE
19
- fbDinQT6P4IDQoZwhfrPCB+aBfUyQp4Ok7oD7MEWqsq9SjrSxqxfk4+oZdXUySe7
20
- Vi5vnzVQ5uFf56NHwWnNKCzJzmH84mBO5MzHaQpHNzKGJPoUmzLU5RBlCH6YXqBG
21
- KhXTMUDBWKJmJ3RDry/FpGgJLKu4wzFRYjXla6IjeKozWGuPNNJ+2mesXKhsX7bo
22
- vVCzRxPEupbEg/0FkJiWpiGlSPOdd6oJiwX8E6rlEeV605xrbOQewkbovHkYTMtG
23
- +NH+u08x0z4Oj71kmDLwuj812uS0mtrCg2VhiYO0ZCQ4XrwBsBfK+/MtMlR+o6sG
24
- /zvz/vHVJKaLTQxRp5oGo4QH6HfbOnwzTkXdZnt5AlN31ErJAgMBAAGjgYEwfzAJ
25
- BgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQUC7seYydsGO6O1qT4nVVD
26
- G/LkiHYwIgYDVR0RBBswGYEXc3RhdGVsZXNzY29kZUBnbWFpbC5jb20wIgYDVR0S
27
- BBswGYEXc3RhdGVsZXNzY29kZUBnbWFpbC5jb20wDQYJKoZIhvcNAQELBQADggGB
28
- ADPRFRB1cjqdcE2O0jtqiDRmrR62uEYBiUbkRPVhyoEp/cK0TVhAs9mGWAyCWu0M
29
- LewUeqNTUvQ9MgvagcKcnxa2RTjdrP3nGnwpStMr9bm3ArNJEzvWEs0Eusk9y73x
30
- fjy0qH2pw5WPfWcKYlDehMXqOP+a4udYsz0YSNiI8qEfkDCSqTJN11d5kSjVjwGB
31
- xkauxDT68j1JZRjPmQl3dl+DCgxkoziWX2mFTPLfGg5vZ0t6gmhdUtLvJtNIo0IX
32
- 477E5UjmE1+rULQp/fsH6n5+H+t2eCED41ST+gkKbaQBUfIuUaCmdHz9sJaIIBw2
33
- 6ordFa1nrLV4w5Uf6qYFnWVhIWX4GToyZSPO2s0DPYp3PWFJ4VtzKa2vp1TR5ZEA
34
- dkij2eQ9M8bzWWmW+A7RNaI0CzLl967bKGBSaMVCsZGBarggWD8UwJnBhTuOPZGR
35
- WQ4faXJSevxT+x9TgyUNJINPkz/KqreClzdL83cwxPzFFQto7zF6zMCsj0slqJjW
36
- EQ==
13
+ MIIEhTCCAu2gAwIBAgIBATANBgkqhkiG9w0BAQsFADBEMRYwFAYDVQQDDA1zdGF0
14
+ ZWxlc3Njb2RlMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJk/IsZAEZ
15
+ FgNjb20wHhcNMjMwMjIzMjMyMTQwWhcNMjQwMjIzMjMyMTQwWjBEMRYwFAYDVQQD
16
+ DA1zdGF0ZWxlc3Njb2RlMRUwEwYKCZImiZPyLGQBGRYFZ21haWwxEzARBgoJkiaJ
17
+ k/IsZAEZFgNjb20wggGiMA0GCSqGSIb3DQEBAQUAA4IBjwAwggGKAoIBgQCxVzHS
18
+ gYszan//tjTSO0z59UO1rUiT5G0//iyhiaYIiuwxhYFbfD+wOCou4M18pQtEb4qx
19
+ o67tPfGimBAVak6fGfo8fo1ByHiKCvx3jgOjxNifT9pRFlBSr6ZvyXeu7zA0ddLr
20
+ slw92DNqeRlZXqB0mxDtpKWONGc1XhAqEjEP3VL7g7x0xPQShcpXg/OyRPR5vyv8
21
+ 66pXdFrXYZGrySfIB6ZOWFV6wGBj603rPdXOeYVeks6hKvw3wb4G1s7tvwTA5MWI
22
+ otw6Mp9TaMdms9zTc5A3N58pueKfBJfwkICkdAGJDWC6sIXECoaTDRqVK96RSH/1
23
+ 8tEPDoFYpJDOa5byX1j7srwO0B6WOtPxix7gW1wBbEp7eWSQf1k3k9XEh32SRsPq
24
+ NJObRfhkzoa9p1tPkVP3nasDTK5gtisolwhb7Vimeup54yKfT/THv2iNEnGTvK1P
25
+ sV4vC8nch88lBI1mIecmSh/mwED4Mb1dNtcyuB/+XnSI8vIzXJKAAKaT0eMCAwEA
26
+ AaOBgTB/MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQWBBRP42hSa0JV
27
+ QGDSobiGTYyfM570hjAiBgNVHREEGzAZgRdzdGF0ZWxlc3Njb2RlQGdtYWlsLmNv
28
+ bTAiBgNVHRIEGzAZgRdzdGF0ZWxlc3Njb2RlQGdtYWlsLmNvbTANBgkqhkiG9w0B
29
+ AQsFAAOCAYEANtaR6OV7p1IJOsvVgGQzVg88NIOeXrfOaEDUPb6eg4JMOSL0Cvvl
30
+ 2F7lB/ykbQcO4Oe7NucuavC7ClyG3c/V5eQ5TtPNWkMbVN9ESVR8wk5SjhiI8L35
31
+ MBxJ6YU27eyDmazQJ7eCYcRJkuyWt3KcqgsEh7JyNnKcJ/3rgf1QW0IyJiGsXM1I
32
+ SssQ/t7Ia2tVMrVMsvs834v9FRpVbO3dHdCO4t7zQBIADVcj4NqCDV10D6aji/Aa
33
+ 35YJHwlkhuZH6AYC45QHt9dW0/OLmbFwoJqW7syrso2PParyMr4YcJwucXViRiL7
34
+ l5aVpYdz/RTqdB92Mmud5Hj5zkuEE4CHBh8L8AJC5kZu/YUXXDtuECSMVhg5O84h
35
+ QsdcuygyVASmw2aliMAFXfIBDYelduG0XwjdOREN3q4SDTKP+pfBxx6OdD1RfsYF
36
+ /9HhtVbKLq34iQftF4oIH66bYDEyG5y4CLKQ8Nq0WDWq50OcaP9KpDiS21BC43SW
37
+ t+NX7PDOWx4k
37
38
  -----END CERTIFICATE-----
38
- date: 2021-01-28 00:00:00.000000000 Z
39
+ date: 2023-02-24 00:00:00.000000000 Z
39
40
  dependencies:
40
41
  - !ruby/object:Gem::Dependency
41
42
  name: securerandom
@@ -43,100 +44,128 @@ dependencies:
43
44
  requirements:
44
45
  - - "~>"
45
46
  - !ruby/object:Gem::Version
46
- version: '0.1'
47
+ version: '0.2'
47
48
  - - ">="
48
49
  - !ruby/object:Gem::Version
49
- version: 0.1.0
50
+ version: 0.2.2
50
51
  type: :runtime
51
52
  prerelease: false
52
53
  version_requirements: !ruby/object:Gem::Requirement
53
54
  requirements:
54
55
  - - "~>"
55
56
  - !ruby/object:Gem::Version
56
- version: '0.1'
57
+ version: '0.2'
57
58
  - - ">="
58
59
  - !ruby/object:Gem::Version
59
- version: 0.1.0
60
+ version: 0.2.2
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.27.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.27.0
60
75
  - !ruby/object:Gem::Dependency
61
76
  name: rubocop
62
77
  requirement: !ruby/object:Gem::Requirement
63
78
  requirements:
64
79
  - - "~>"
65
80
  - !ruby/object:Gem::Version
66
- version: '1.8'
81
+ version: '1.46'
67
82
  - - ">="
68
83
  - !ruby/object:Gem::Version
69
- version: 1.8.1
84
+ version: 1.46.0
70
85
  type: :development
71
86
  prerelease: false
72
87
  version_requirements: !ruby/object:Gem::Requirement
73
88
  requirements:
74
89
  - - "~>"
75
90
  - !ruby/object:Gem::Version
76
- version: '1.8'
91
+ version: '1.46'
77
92
  - - ">="
78
93
  - !ruby/object:Gem::Version
79
- version: 1.8.1
94
+ version: 1.46.0
80
95
  - !ruby/object:Gem::Dependency
81
96
  name: rubocop-performance
82
97
  requirement: !ruby/object:Gem::Requirement
83
98
  requirements:
84
99
  - - "~>"
85
100
  - !ruby/object:Gem::Version
86
- version: '1.9'
101
+ version: '1.16'
87
102
  - - ">="
88
103
  - !ruby/object:Gem::Version
89
- version: 1.9.1
104
+ version: 1.16.0
90
105
  type: :development
91
106
  prerelease: false
92
107
  version_requirements: !ruby/object:Gem::Requirement
93
108
  requirements:
94
109
  - - "~>"
95
110
  - !ruby/object:Gem::Version
96
- version: '1.9'
111
+ version: '1.16'
97
112
  - - ">="
98
113
  - !ruby/object:Gem::Version
99
- version: 1.9.1
114
+ version: 1.16.0
100
115
  - !ruby/object:Gem::Dependency
101
116
  name: rubocop-rake
102
117
  requirement: !ruby/object:Gem::Requirement
103
118
  requirements:
104
119
  - - "~>"
105
120
  - !ruby/object:Gem::Version
106
- version: '0.5'
121
+ version: '0.6'
107
122
  - - ">="
108
123
  - !ruby/object:Gem::Version
109
- version: 0.5.1
124
+ version: 0.6.0
110
125
  type: :development
111
126
  prerelease: false
112
127
  version_requirements: !ruby/object:Gem::Requirement
113
128
  requirements:
114
129
  - - "~>"
115
130
  - !ruby/object:Gem::Version
116
- version: '0.5'
131
+ version: '0.6'
117
132
  - - ">="
118
133
  - !ruby/object:Gem::Version
119
- version: 0.5.1
134
+ version: 0.6.0
120
135
  - !ruby/object:Gem::Dependency
121
136
  name: rubocop-rspec
122
137
  requirement: !ruby/object:Gem::Requirement
123
138
  requirements:
124
139
  - - "~>"
125
140
  - !ruby/object:Gem::Version
126
- version: '2.1'
141
+ version: '2.18'
127
142
  - - ">="
128
143
  - !ruby/object:Gem::Version
129
- version: 2.1.0
144
+ version: 2.18.1
130
145
  type: :development
131
146
  prerelease: false
132
147
  version_requirements: !ruby/object:Gem::Requirement
133
148
  requirements:
134
149
  - - "~>"
135
150
  - !ruby/object:Gem::Version
136
- version: '2.1'
151
+ version: '2.18'
137
152
  - - ">="
138
153
  - !ruby/object:Gem::Version
139
- version: 2.1.0
154
+ version: 2.18.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
140
169
  description: |2
141
170
  Nerd dice allows you to roll polyhedral dice and add bonuses as you would in
142
171
  a tabletop roleplaying game. You can choose to roll multiple dice and keep a
@@ -148,14 +177,15 @@ email:
148
177
  executables:
149
178
  - console
150
179
  - generate_checksums
180
+ - nerd_dice_benchmark
151
181
  - setup
152
182
  extensions: []
153
183
  extra_rdoc_files: []
154
184
  files:
185
+ - ".github/workflows/main.yml"
155
186
  - ".gitignore"
156
187
  - ".rspec"
157
188
  - ".rubocop.yml"
158
- - ".travis.yml"
159
189
  - BURN_THE_CONTRIBUTOR_COVENANT_WITH_FIRE.md
160
190
  - CHANGELOG.md
161
191
  - Gemfile
@@ -166,12 +196,15 @@ files:
166
196
  - UNLICENSE.txt
167
197
  - bin/console
168
198
  - bin/generate_checksums
199
+ - bin/nerd_dice_benchmark
169
200
  - bin/setup
170
201
  - certs/msducheminjr.pem
171
202
  - checksum/nerd_dice-0.1.0.gem.sha256
172
203
  - checksum/nerd_dice-0.1.0.gem.sha512
173
204
  - checksum/nerd_dice-0.1.1.gem.sha256
174
205
  - checksum/nerd_dice-0.1.1.gem.sha512
206
+ - checksum/nerd_dice-0.2.0.gem.sha256
207
+ - checksum/nerd_dice-0.2.0.gem.sha512
175
208
  - lib/nerd_dice.rb
176
209
  - lib/nerd_dice/configuration.rb
177
210
  - lib/nerd_dice/version.rb
@@ -188,6 +221,7 @@ metadata:
188
221
  bug_tracker_uri: https://github.com/statelesscode/nerd_dice/issues
189
222
  documentation_uri: https://github.com/statelesscode/nerd_dice/README.md
190
223
  github_repo: https://github.com/statelesscode/nerd_dice
224
+ rubygems_mfa_required: 'true'
191
225
  post_install_message:
192
226
  rdoc_options: []
193
227
  require_paths:
@@ -203,7 +237,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
203
237
  - !ruby/object:Gem::Version
204
238
  version: '0'
205
239
  requirements: []
206
- rubygems_version: 3.2.3
240
+ rubygems_version: 3.4.7
207
241
  signing_key:
208
242
  specification_version: 4
209
243
  summary: A Ruby Gem for rolling polyhedral dice.
metadata.gz.sig CHANGED
Binary file
data/.travis.yml DELETED
@@ -1,6 +0,0 @@
1
- ---
2
- language: ruby
3
- cache: bundler
4
- rvm:
5
- - 2.7.2
6
- before_install: gem install bundler -v 2.1.4