nerd_dice 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/.github/workflows/main.yml +3 -3
- data/.rubocop.yml +181 -14
- data/CHANGELOG.md +66 -4
- data/Gemfile +2 -2
- data/Gemfile.lock +47 -51
- data/README.md +178 -6
- data/bin/generate_checksums +2 -2
- data/bin/nerd_dice_benchmark +112 -16
- data/certs/msducheminjr.pem +24 -25
- data/lib/nerd_dice/class_methods/configure.rb +50 -0
- data/lib/nerd_dice/class_methods/execute_die_roll.rb +47 -0
- data/lib/nerd_dice/class_methods/harvest_totals.rb +35 -0
- data/lib/nerd_dice/class_methods/refresh_seed.rb +83 -0
- data/lib/nerd_dice/class_methods/roll_ability_scores.rb +73 -0
- data/lib/nerd_dice/class_methods/roll_dice.rb +45 -0
- data/lib/nerd_dice/class_methods/total_ability_scores.rb +52 -0
- data/lib/nerd_dice/class_methods/total_dice.rb +44 -0
- data/lib/nerd_dice/class_methods.rb +30 -0
- data/lib/nerd_dice/configuration.rb +46 -2
- data/lib/nerd_dice/dice_set.rb +166 -0
- data/lib/nerd_dice/die.rb +51 -0
- data/lib/nerd_dice/sets_randomization_technique.rb +19 -0
- data/lib/nerd_dice/version.rb +1 -1
- data/lib/nerd_dice.rb +9 -159
- data/nerd_dice.gemspec +5 -6
- data.tar.gz.sig +0 -0
- metadata +57 -47
- metadata.gz.sig +0 -0
data/lib/nerd_dice.rb
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
|
3
3
|
require "nerd_dice/version"
|
4
4
|
require "nerd_dice/configuration"
|
5
|
+
require "nerd_dice/sets_randomization_technique"
|
6
|
+
require "nerd_dice/die"
|
7
|
+
require "nerd_dice/dice_set"
|
8
|
+
require "nerd_dice/class_methods"
|
5
9
|
require "securerandom"
|
6
10
|
# Nerd dice allows you to roll polyhedral dice and add bonuses as you would in
|
7
11
|
# a tabletop roleplaying game. You can choose to roll multiple dice and keep a
|
@@ -9,168 +13,14 @@ require "securerandom"
|
|
9
13
|
# ability scores or rolling with advantage and disadvantage if those mechanics
|
10
14
|
# exist in your game.
|
11
15
|
#
|
12
|
-
#
|
13
|
-
#
|
16
|
+
# This module is broken down into multiple source files:
|
17
|
+
# The class_methods file has all of the module_level methods called by NerdDice.method_name
|
14
18
|
#
|
15
|
-
#
|
16
|
-
# <tt>NerdDice.total_dice(4)</tt>
|
17
|
-
#
|
18
|
-
# If you wanted to roll 3d6, you would execute
|
19
|
-
# <tt>NerdDice.total_dice(6, 3)</tt>
|
20
|
-
#
|
21
|
-
# If you wanted to roll a d20 and add 5 to the value, you would execute
|
22
|
-
# <tt>NerdDice.total_dice(20, 1, { bonus: 5 })</tt>
|
23
|
-
#
|
24
|
-
# The bonus in the options hash must be an Integer or it will be ignored
|
19
|
+
# See the README for overall usage for the module
|
25
20
|
module NerdDice
|
26
21
|
class Error < StandardError; end
|
27
22
|
|
28
23
|
RANDOMIZATION_TECHNIQUES = %i[securerandom random_rand random_object randomized].freeze
|
29
|
-
|
30
|
-
|
31
|
-
attr_reader :count_since_last_refresh
|
32
|
-
|
33
|
-
############################
|
34
|
-
# configure class method
|
35
|
-
############################
|
36
|
-
# Arguments: None
|
37
|
-
# Expects and yields to a block where configuration is specified.
|
38
|
-
# See README and NerdDice::Configuration class for config options
|
39
|
-
# Return (NerdDice::Configuration) the Configuration object tied to the
|
40
|
-
# @configuration class instance variable
|
41
|
-
def configure
|
42
|
-
yield configuration
|
43
|
-
configuration
|
44
|
-
end
|
45
|
-
|
46
|
-
############################
|
47
|
-
# configuration class method
|
48
|
-
############################
|
49
|
-
# Arguments: None
|
50
|
-
# Provides the lazy-loaded class instance variable @configuration
|
51
|
-
# Return (NerdDice::Configuration) the Configuration object tied to the
|
52
|
-
# @configuration class instance variable
|
53
|
-
def configuration
|
54
|
-
@configuration ||= Configuration.new
|
55
|
-
end
|
56
|
-
|
57
|
-
############################
|
58
|
-
# total_dice class method
|
59
|
-
############################
|
60
|
-
# Arguments:
|
61
|
-
# number_of_sides (Integer) => the number of sides of the dice to roll
|
62
|
-
# number_of_dice (Integer, DEFAULT: 1) => the quantity to roll of the type
|
63
|
-
# of die specified in the number_of_sides argument.
|
64
|
-
# options (Hash, DEFAULT: {}) any additional options you wish to include
|
65
|
-
# :bonus (Integer) => The total bonus (positive integer) or penalty
|
66
|
-
# (negative integer) to modify the total by. Is added to the total of
|
67
|
-
# all dice after they are totaled, not to each die rolled
|
68
|
-
#
|
69
|
-
# Return (Integer) => Total of the dice rolled, plus modifier if applicable
|
70
|
-
def total_dice(number_of_sides, number_of_dice = 1, **opts)
|
71
|
-
total = 0
|
72
|
-
number_of_dice.times do
|
73
|
-
total += execute_die_roll(number_of_sides, opts[:randomization_technique])
|
74
|
-
end
|
75
|
-
begin
|
76
|
-
total += opts[:bonus].to_i
|
77
|
-
rescue NoMethodError
|
78
|
-
raise ArgumentError, "Bonus must be a value that responds to :to_i"
|
79
|
-
end
|
80
|
-
total
|
81
|
-
end
|
82
|
-
|
83
|
-
############################
|
84
|
-
# execute_die_roll class method
|
85
|
-
############################
|
86
|
-
# Arguments:
|
87
|
-
# number_of_sides (Integer) => the number of sides of the die to roll
|
88
|
-
# using_generator (Symbol) => must be one of the symbols in
|
89
|
-
# RANDOMIZATION_TECHNIQUES or nil
|
90
|
-
#
|
91
|
-
# Return (Integer) => Value of the single die rolled
|
92
|
-
def execute_die_roll(number_of_sides, using_generator = nil)
|
93
|
-
@count_since_last_refresh ||= 0
|
94
|
-
gen = get_number_generator(using_generator)
|
95
|
-
result = gen.rand(number_of_sides) + 1
|
96
|
-
increment_and_evalutate_refresh_seed
|
97
|
-
result
|
98
|
-
end
|
99
|
-
|
100
|
-
############################
|
101
|
-
# refresh_seed! class method
|
102
|
-
############################
|
103
|
-
# Options: (none required)
|
104
|
-
# randomization_technique (Symbol) => must be one of the symbols in
|
105
|
-
# RANDOMIZATION_TECHNIQUES if specified
|
106
|
-
# random_rand_seed (Integer) => Seed to set for Random
|
107
|
-
# random_object_seed (Integer) => Seed to set for new Random object
|
108
|
-
# Return (Hash or nil) => Previous values of generator seeds that were refreshed
|
109
|
-
def refresh_seed!(**opts)
|
110
|
-
technique, random_rand_new_seed, random_object_new_seed = parse_refresh_options(opts)
|
111
|
-
@count_since_last_refresh = 0
|
112
|
-
return nil if technique == :securerandom
|
113
|
-
|
114
|
-
reset_appropriate_seeds!(technique, random_rand_new_seed, random_object_new_seed)
|
115
|
-
end
|
116
|
-
|
117
|
-
private
|
118
|
-
|
119
|
-
def get_number_generator(using_generator = nil)
|
120
|
-
using_generator ||= configuration.randomization_technique
|
121
|
-
case using_generator
|
122
|
-
when :securerandom then SecureRandom
|
123
|
-
when :random_rand then Random
|
124
|
-
when :random_object then @random_object ||= Random.new
|
125
|
-
when :randomized then random_generator
|
126
|
-
else raise ArgumentError, "Unrecognized generator. Must be one of #{RANDOMIZATION_TECHNIQUES.join(', ')}"
|
127
|
-
end
|
128
|
-
end
|
129
|
-
|
130
|
-
def random_generator
|
131
|
-
gen = RANDOMIZATION_TECHNIQUES.reject { |el| el == :randomized }.sample
|
132
|
-
get_number_generator(gen)
|
133
|
-
end
|
134
|
-
|
135
|
-
def refresh_random_rand_seed!(new_seed)
|
136
|
-
new_seed ? Random.srand(new_seed) : Random.srand
|
137
|
-
end
|
138
|
-
|
139
|
-
def refresh_random_object_seed!(new_seed)
|
140
|
-
old_seed = @random_object&.seed
|
141
|
-
@random_object = new_seed ? Random.new(new_seed) : Random.new
|
142
|
-
old_seed
|
143
|
-
end
|
144
|
-
|
145
|
-
def parse_refresh_options(opts)
|
146
|
-
[
|
147
|
-
opts[:randomization_technique] || configuration.randomization_technique,
|
148
|
-
opts[:random_rand_seed],
|
149
|
-
opts[:random_object_seed]
|
150
|
-
]
|
151
|
-
end
|
152
|
-
|
153
|
-
# rubocop:disable Metrics/MethodLength
|
154
|
-
def reset_appropriate_seeds!(technique, random_rand_new_seed, random_object_new_seed)
|
155
|
-
return_hash = {}
|
156
|
-
case technique
|
157
|
-
when :random_rand
|
158
|
-
return_hash[:random_rand_prior_seed] = refresh_random_rand_seed!(random_rand_new_seed)
|
159
|
-
when :random_object
|
160
|
-
return_hash[:random_object_prior_seed] = refresh_random_object_seed!(random_object_new_seed)
|
161
|
-
when :randomized
|
162
|
-
return_hash[:random_rand_prior_seed] = refresh_random_rand_seed!(random_rand_new_seed)
|
163
|
-
return_hash[:random_object_prior_seed] = refresh_random_object_seed!(random_object_new_seed)
|
164
|
-
end
|
165
|
-
return_hash
|
166
|
-
end
|
167
|
-
# rubocop:enable Metrics/MethodLength
|
168
|
-
|
169
|
-
def increment_and_evalutate_refresh_seed
|
170
|
-
@count_since_last_refresh += 1
|
171
|
-
return unless configuration.refresh_seed_interval
|
172
|
-
|
173
|
-
refresh_seed! if @count_since_last_refresh >= configuration.refresh_seed_interval
|
174
|
-
end
|
175
|
-
end
|
24
|
+
ABILITY_SCORE_KEYS = %i[ability_score_array_size ability_score_number_of_sides ability_score_dice_rolled
|
25
|
+
ability_score_dice_kept].freeze
|
176
26
|
end
|
data/nerd_dice.gemspec
CHANGED
@@ -28,7 +28,6 @@ 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"
|
32
31
|
|
33
32
|
# Specify which files should be added to the gem when it is released.
|
34
33
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
@@ -44,13 +43,13 @@ Gem::Specification.new do |spec|
|
|
44
43
|
spec.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $PROGRAM_NAME.end_with?("gem")
|
45
44
|
|
46
45
|
# Dependencies
|
47
|
-
spec.add_dependency "securerandom", "~> 0.
|
46
|
+
spec.add_dependency "securerandom", "~> 0.1", ">= 0.1.0"
|
48
47
|
|
49
48
|
# Development Dependencies
|
50
|
-
spec.add_development_dependency "coveralls_reborn", "~> 0.
|
51
|
-
spec.add_development_dependency "rubocop", "~> 1.
|
52
|
-
spec.add_development_dependency "rubocop-performance", "~> 1.
|
49
|
+
spec.add_development_dependency "coveralls_reborn", "~> 0.22.0"
|
50
|
+
spec.add_development_dependency "rubocop", "~> 1.20", ">= 1.20.0"
|
51
|
+
spec.add_development_dependency "rubocop-performance", "~> 1.11", ">= 1.11.5"
|
53
52
|
spec.add_development_dependency "rubocop-rake", "~> 0.6", ">= 0.6.0"
|
54
|
-
spec.add_development_dependency "rubocop-rspec", "~> 2.
|
53
|
+
spec.add_development_dependency "rubocop-rspec", "~> 2.4", ">= 2.4.0"
|
55
54
|
spec.add_development_dependency "simplecov-lcov", "~> 0.8.0"
|
56
55
|
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.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Duchemin
|
@@ -10,33 +10,32 @@ bindir: bin
|
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
t+NX7PDOWx4k
|
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==
|
38
37
|
-----END CERTIFICATE-----
|
39
|
-
date:
|
38
|
+
date: 2021-09-11 00:00:00.000000000 Z
|
40
39
|
dependencies:
|
41
40
|
- !ruby/object:Gem::Dependency
|
42
41
|
name: securerandom
|
@@ -44,74 +43,74 @@ dependencies:
|
|
44
43
|
requirements:
|
45
44
|
- - "~>"
|
46
45
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0.
|
46
|
+
version: '0.1'
|
48
47
|
- - ">="
|
49
48
|
- !ruby/object:Gem::Version
|
50
|
-
version: 0.
|
49
|
+
version: 0.1.0
|
51
50
|
type: :runtime
|
52
51
|
prerelease: false
|
53
52
|
version_requirements: !ruby/object:Gem::Requirement
|
54
53
|
requirements:
|
55
54
|
- - "~>"
|
56
55
|
- !ruby/object:Gem::Version
|
57
|
-
version: '0.
|
56
|
+
version: '0.1'
|
58
57
|
- - ">="
|
59
58
|
- !ruby/object:Gem::Version
|
60
|
-
version: 0.
|
59
|
+
version: 0.1.0
|
61
60
|
- !ruby/object:Gem::Dependency
|
62
61
|
name: coveralls_reborn
|
63
62
|
requirement: !ruby/object:Gem::Requirement
|
64
63
|
requirements:
|
65
64
|
- - "~>"
|
66
65
|
- !ruby/object:Gem::Version
|
67
|
-
version: 0.
|
66
|
+
version: 0.22.0
|
68
67
|
type: :development
|
69
68
|
prerelease: false
|
70
69
|
version_requirements: !ruby/object:Gem::Requirement
|
71
70
|
requirements:
|
72
71
|
- - "~>"
|
73
72
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.
|
73
|
+
version: 0.22.0
|
75
74
|
- !ruby/object:Gem::Dependency
|
76
75
|
name: rubocop
|
77
76
|
requirement: !ruby/object:Gem::Requirement
|
78
77
|
requirements:
|
79
78
|
- - "~>"
|
80
79
|
- !ruby/object:Gem::Version
|
81
|
-
version: '1.
|
80
|
+
version: '1.20'
|
82
81
|
- - ">="
|
83
82
|
- !ruby/object:Gem::Version
|
84
|
-
version: 1.
|
83
|
+
version: 1.20.0
|
85
84
|
type: :development
|
86
85
|
prerelease: false
|
87
86
|
version_requirements: !ruby/object:Gem::Requirement
|
88
87
|
requirements:
|
89
88
|
- - "~>"
|
90
89
|
- !ruby/object:Gem::Version
|
91
|
-
version: '1.
|
90
|
+
version: '1.20'
|
92
91
|
- - ">="
|
93
92
|
- !ruby/object:Gem::Version
|
94
|
-
version: 1.
|
93
|
+
version: 1.20.0
|
95
94
|
- !ruby/object:Gem::Dependency
|
96
95
|
name: rubocop-performance
|
97
96
|
requirement: !ruby/object:Gem::Requirement
|
98
97
|
requirements:
|
99
98
|
- - "~>"
|
100
99
|
- !ruby/object:Gem::Version
|
101
|
-
version: '1.
|
100
|
+
version: '1.11'
|
102
101
|
- - ">="
|
103
102
|
- !ruby/object:Gem::Version
|
104
|
-
version: 1.
|
103
|
+
version: 1.11.5
|
105
104
|
type: :development
|
106
105
|
prerelease: false
|
107
106
|
version_requirements: !ruby/object:Gem::Requirement
|
108
107
|
requirements:
|
109
108
|
- - "~>"
|
110
109
|
- !ruby/object:Gem::Version
|
111
|
-
version: '1.
|
110
|
+
version: '1.11'
|
112
111
|
- - ">="
|
113
112
|
- !ruby/object:Gem::Version
|
114
|
-
version: 1.
|
113
|
+
version: 1.11.5
|
115
114
|
- !ruby/object:Gem::Dependency
|
116
115
|
name: rubocop-rake
|
117
116
|
requirement: !ruby/object:Gem::Requirement
|
@@ -138,20 +137,20 @@ dependencies:
|
|
138
137
|
requirements:
|
139
138
|
- - "~>"
|
140
139
|
- !ruby/object:Gem::Version
|
141
|
-
version: '2.
|
140
|
+
version: '2.4'
|
142
141
|
- - ">="
|
143
142
|
- !ruby/object:Gem::Version
|
144
|
-
version: 2.
|
143
|
+
version: 2.4.0
|
145
144
|
type: :development
|
146
145
|
prerelease: false
|
147
146
|
version_requirements: !ruby/object:Gem::Requirement
|
148
147
|
requirements:
|
149
148
|
- - "~>"
|
150
149
|
- !ruby/object:Gem::Version
|
151
|
-
version: '2.
|
150
|
+
version: '2.4'
|
152
151
|
- - ">="
|
153
152
|
- !ruby/object:Gem::Version
|
154
|
-
version: 2.
|
153
|
+
version: 2.4.0
|
155
154
|
- !ruby/object:Gem::Dependency
|
156
155
|
name: simplecov-lcov
|
157
156
|
requirement: !ruby/object:Gem::Requirement
|
@@ -206,7 +205,19 @@ files:
|
|
206
205
|
- checksum/nerd_dice-0.2.0.gem.sha256
|
207
206
|
- checksum/nerd_dice-0.2.0.gem.sha512
|
208
207
|
- lib/nerd_dice.rb
|
208
|
+
- lib/nerd_dice/class_methods.rb
|
209
|
+
- lib/nerd_dice/class_methods/configure.rb
|
210
|
+
- lib/nerd_dice/class_methods/execute_die_roll.rb
|
211
|
+
- lib/nerd_dice/class_methods/harvest_totals.rb
|
212
|
+
- lib/nerd_dice/class_methods/refresh_seed.rb
|
213
|
+
- lib/nerd_dice/class_methods/roll_ability_scores.rb
|
214
|
+
- lib/nerd_dice/class_methods/roll_dice.rb
|
215
|
+
- lib/nerd_dice/class_methods/total_ability_scores.rb
|
216
|
+
- lib/nerd_dice/class_methods/total_dice.rb
|
209
217
|
- lib/nerd_dice/configuration.rb
|
218
|
+
- lib/nerd_dice/dice_set.rb
|
219
|
+
- lib/nerd_dice/die.rb
|
220
|
+
- lib/nerd_dice/sets_randomization_technique.rb
|
210
221
|
- lib/nerd_dice/version.rb
|
211
222
|
- nerd_dice.gemspec
|
212
223
|
homepage: https://github.com/statelesscode/nerd_dice
|
@@ -221,7 +232,6 @@ metadata:
|
|
221
232
|
bug_tracker_uri: https://github.com/statelesscode/nerd_dice/issues
|
222
233
|
documentation_uri: https://github.com/statelesscode/nerd_dice/README.md
|
223
234
|
github_repo: https://github.com/statelesscode/nerd_dice
|
224
|
-
rubygems_mfa_required: 'true'
|
225
235
|
post_install_message:
|
226
236
|
rdoc_options: []
|
227
237
|
require_paths:
|
@@ -237,7 +247,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
237
247
|
- !ruby/object:Gem::Version
|
238
248
|
version: '0'
|
239
249
|
requirements: []
|
240
|
-
rubygems_version: 3.
|
250
|
+
rubygems_version: 3.2.22
|
241
251
|
signing_key:
|
242
252
|
specification_version: 4
|
243
253
|
summary: A Ruby Gem for rolling polyhedral dice.
|
metadata.gz.sig
CHANGED
Binary file
|