nerd_dice 0.2.1 → 0.3.0
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 +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
|