nerd_dice 0.1.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/.github/workflows/main.yml +67 -0
  4. data/.rubocop.yml +114 -0
  5. data/CHANGELOG.md +76 -2
  6. data/Gemfile +2 -2
  7. data/Gemfile.lock +54 -32
  8. data/README.md +372 -5
  9. data/bin/generate_checksums +13 -0
  10. data/bin/nerd_dice_benchmark +322 -0
  11. data/certs/msducheminjr.pem +26 -0
  12. data/checksum/nerd_dice-0.1.0.gem.sha256 +1 -0
  13. data/checksum/nerd_dice-0.1.0.gem.sha512 +1 -0
  14. data/checksum/nerd_dice-0.1.1.gem.sha256 +1 -0
  15. data/checksum/nerd_dice-0.1.1.gem.sha512 +1 -0
  16. data/checksum/nerd_dice-0.2.0.gem.sha256 +1 -0
  17. data/checksum/nerd_dice-0.2.0.gem.sha512 +1 -0
  18. data/checksum/nerd_dice-0.3.0.gem.sha256 +1 -0
  19. data/checksum/nerd_dice-0.3.0.gem.sha512 +1 -0
  20. data/lib/nerd_dice/class_methods/configure.rb +50 -0
  21. data/lib/nerd_dice/class_methods/execute_die_roll.rb +47 -0
  22. data/lib/nerd_dice/class_methods/harvest_totals.rb +40 -0
  23. data/lib/nerd_dice/class_methods/refresh_seed.rb +83 -0
  24. data/lib/nerd_dice/class_methods/roll_ability_scores.rb +73 -0
  25. data/lib/nerd_dice/class_methods/roll_dice.rb +45 -0
  26. data/lib/nerd_dice/class_methods/total_ability_scores.rb +52 -0
  27. data/lib/nerd_dice/class_methods/total_dice.rb +44 -0
  28. data/lib/nerd_dice/class_methods.rb +30 -0
  29. data/lib/nerd_dice/configuration.rb +91 -0
  30. data/lib/nerd_dice/convenience_methods.rb +279 -0
  31. data/lib/nerd_dice/dice_set.rb +166 -0
  32. data/lib/nerd_dice/die.rb +51 -0
  33. data/lib/nerd_dice/sets_randomization_technique.rb +19 -0
  34. data/lib/nerd_dice/version.rb +1 -1
  35. data/lib/nerd_dice.rb +15 -33
  36. data/nerd_dice.gemspec +12 -7
  37. data.tar.gz.sig +0 -0
  38. metadata +97 -21
  39. metadata.gz.sig +0 -0
  40. data/.travis.yml +0 -6
@@ -0,0 +1,166 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NerdDice
4
+ # The NerdDice::DiceSet class allows you to instantiate and roll a set of dice by specifying
5
+ # the number of sides, the number of dice (with a default of 1) and other options. As part of
6
+ # initialization the DiceSet will initialize and roll the Die objects specified by the
7
+ # DiceSet.new method. The parameters align with the NerdDice.total_dice method and
8
+ # NerdDice::DiceSet.new(6, 3, bonus: 5).total would be equivalent to
9
+ # NerdDice.total_dice(6, 3, bonus: 5)
10
+ #
11
+ # Usage:
12
+ # Instantiate a d20:
13
+ # <tt>dice = NerdDice::DiceSet.new(20)
14
+ # dice.total # between 1 and 20
15
+ # </tt>
16
+ #
17
+ # Instantiate 3d6 + 5:
18
+ # <tt>dice = NerdDice::DiceSet.new(6, 3, bonus: 5)
19
+ # dice.total # between 8 and 23
20
+ # </tt>
21
+ #
22
+ # You can also specify options that will cascade to the member dice when instantiating
23
+ # <tt>NerdDice::DiceSet.new(6, 3, randomization_technique: :randomized,
24
+ # foreground_color: "#FF0000",
25
+ # background_color: "#FFFFFF"
26
+ # damage_type: "necrotic"))
27
+ # </tt>
28
+ class DiceSet
29
+ include Enumerable
30
+ include SetsRandomizationTechnique
31
+
32
+ attr_reader :number_of_sides, :number_of_dice, :dice, :bonus
33
+ attr_accessor :background_color, :foreground_color, :damage_type
34
+
35
+ # required to implement Enumerable uses the @dice collection
36
+ def each(&block)
37
+ @dice.each(&block)
38
+ end
39
+
40
+ # not included by default in Enumerable: allows [] directly on the DiceSet object
41
+ def [](index)
42
+ @dice[index]
43
+ end
44
+
45
+ # not included by default in Enumerable: adds length property directly to the DiceSet object
46
+ def length
47
+ @dice.length
48
+ end
49
+
50
+ # sorts the @dice collection in place
51
+ def sort!
52
+ @dice.sort!
53
+ end
54
+
55
+ # reverses the @dice collection in place
56
+ def reverse!
57
+ @dice.reverse!
58
+ end
59
+
60
+ # re-rolls each Die in the collection and sets its is_included_in_total property back to true
61
+ def reroll_all!
62
+ @dice.map do |die|
63
+ die.roll
64
+ die.is_included_in_total = true
65
+ end
66
+ end
67
+
68
+ # resets is_included_in_total property back to true for each Die in the collection
69
+ def include_all_dice!
70
+ @dice.map { |die| die.is_included_in_total = true }
71
+ end
72
+
73
+ ###################################
74
+ # highest instance method
75
+ # (aliased as with_advantage)
76
+ ###################################
77
+ # Arguments:
78
+ # number_to_take (Integer default: nil) => the number dice to take
79
+ #
80
+ # Notes:
81
+ # * If the method is called with a nil value it will take all but one of the dice
82
+ # * If the method is called on a DiceSet with one Die, the lone Die will remain included
83
+ # * The method will raise an ArgumentError if you try to take more dice than the DiceSet contains
84
+ # * Even though this method doesn't have a bang at the end, it does call other bang methods
85
+ #
86
+ # Return (NerdDice::DiceSet) => Returns the instance the method was called on with
87
+ # die objects that have is_included_in_total property modified as true for the highest(n)
88
+ # dice and false for the remaining dice.
89
+ def highest(number_to_take = nil)
90
+ include_all_dice!
91
+ number_to_take = check_low_high_argument!(number_to_take)
92
+ get_default_to_take if number_to_take.nil?
93
+ @dice.sort.reverse.each_with_index do |die, index|
94
+ die.is_included_in_total = false if index >= number_to_take
95
+ end
96
+ self
97
+ end
98
+
99
+ alias with_advantage highest
100
+
101
+ ###################################
102
+ # lowest instance method
103
+ # (aliased as with_disadvantage)
104
+ ###################################
105
+ # Arguments and Notes are the same as for the highest method documented above
106
+ #
107
+ # Return (NerdDice::DiceSet) => Returns the instance the method was called on with
108
+ # die objects that have is_included_in_total property modified as true for the lowest(n)
109
+ # dice and false for the remaining dice.
110
+ def lowest(number_to_take = nil)
111
+ include_all_dice!
112
+ number_to_take = check_low_high_argument!(number_to_take)
113
+ get_default_to_take if number_to_take.nil?
114
+ @dice.sort.each_with_index do |die, index|
115
+ die.is_included_in_total = false if index >= number_to_take
116
+ end
117
+ self
118
+ end
119
+
120
+ alias with_disadvantage lowest
121
+
122
+ # custom attribute writer that ensures the argument is an Integer duck-type and calls to_i
123
+ def bonus=(new_value)
124
+ @bonus = new_value.to_i
125
+ rescue NoMethodError
126
+ raise ArgumentError, "Bonus must be a value that responds to :to_i"
127
+ end
128
+
129
+ ###################################
130
+ # total method
131
+ ###################################
132
+ # Return (Integer) => Returns the sum of the values on the Die objects in the collection
133
+ # where is_included_in_total is set to true and then adds the value of the bonus
134
+ # attribute (which may be negative)
135
+ def total
136
+ @dice.select(&:included_in_total?).sum(&:value) + @bonus
137
+ end
138
+
139
+ private
140
+
141
+ def initialize(number_of_sides, number_of_dice = 1, **opts)
142
+ @number_of_sides = number_of_sides
143
+ @number_of_dice = number_of_dice
144
+ parse_options(opts)
145
+ @dice = []
146
+ @number_of_dice.times { @dice << Die.new(@number_of_sides, **opts) }
147
+ end
148
+
149
+ def parse_options(opts)
150
+ self.randomization_technique = opts[:randomization_technique]
151
+ @background_color = opts[:background_color] || NerdDice.configuration.die_background_color
152
+ @foreground_color = opts[:foreground_color] || NerdDice.configuration.die_foreground_color
153
+ @damage_type = opts[:damage_type]
154
+ self.bonus = opts[:bonus]
155
+ end
156
+
157
+ # validates the argument input to the highest and lowest methods
158
+ # sets a default value if number_to_take is nil
159
+ def check_low_high_argument!(number_to_take)
160
+ number_to_take ||= number_of_dice == 1 ? 1 : number_of_dice - 1
161
+ raise ArgumentError, "Argument cannot exceed number of dice" if number_to_take > number_of_dice
162
+
163
+ number_to_take
164
+ end
165
+ end
166
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NerdDice
4
+ # The NerdDice::Die class allows you to instantiate and roll a die by specifying
5
+ # the number of sides with other options. As part of initialization the die will
6
+ # be rolled and have a value
7
+ #
8
+ # Usage:
9
+ # Instantiate a d20:
10
+ # <tt>die = NerdDice::Die.new(20)
11
+ # die.value # between 1 and 20
12
+ # </tt>
13
+ #
14
+ # You can also specify options when instantiating
15
+ # <tt>NerdDice::Die.new(12, randomization_technique: :randomized,
16
+ # foreground_color: "#FF0000",
17
+ # background_color: "#FFFFFF",
18
+ # damage_type: "necrotic"))
19
+ # </tt>
20
+ class Die
21
+ include Comparable
22
+ include SetsRandomizationTechnique
23
+
24
+ attr_reader :number_of_sides, :value
25
+ attr_accessor :background_color, :foreground_color, :damage_type, :is_included_in_total
26
+
27
+ # comparison operator override using value: required to implement Comparable
28
+ def <=>(other)
29
+ value <=> other.value
30
+ end
31
+
32
+ # rolls the die, setting the value to the new roll and returning that value
33
+ def roll
34
+ @value = NerdDice.execute_die_roll(@number_of_sides, @randomization_technique)
35
+ end
36
+
37
+ alias included_in_total? is_included_in_total
38
+
39
+ private
40
+
41
+ def initialize(number_of_sides, **opts)
42
+ @number_of_sides = number_of_sides
43
+ self.randomization_technique = opts[:randomization_technique]
44
+ @background_color = opts[:background_color] || NerdDice.configuration.die_background_color
45
+ @foreground_color = opts[:foreground_color] || NerdDice.configuration.die_foreground_color
46
+ @damage_type = opts[:damage_type]
47
+ @is_included_in_total = true
48
+ roll
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module NerdDice
4
+ # The NerdDice::SetsRandomizationTechnique is a module mixin that can be included
5
+ # in classes. It provides an attribute reader and writer for randomization_technique
6
+ # and checks against the NerdDice::RANDOMIZATION_TECHNIQUES constant to make sure the
7
+ # input provided is valid
8
+ module SetsRandomizationTechnique
9
+ attr_reader :randomization_technique
10
+
11
+ def randomization_technique=(new_value)
12
+ unless RANDOMIZATION_TECHNIQUES.include?(new_value) || new_value.nil?
13
+ raise NerdDice::Error, "randomization_technique must be one of #{NerdDice::RANDOMIZATION_TECHNIQUES.join(', ')}"
14
+ end
15
+
16
+ @randomization_technique = new_value
17
+ end
18
+ end
19
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NerdDice
4
- VERSION = "0.1.0"
4
+ VERSION = "0.4.0"
5
5
  end
data/lib/nerd_dice.rb CHANGED
@@ -1,47 +1,29 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "nerd_dice/version"
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"
9
+ require "securerandom"
10
+ require "nerd_dice/convenience_methods"
4
11
  # Nerd dice allows you to roll polyhedral dice and add bonuses as you would in
5
12
  # a tabletop roleplaying game. You can choose to roll multiple dice and keep a
6
13
  # specified number of dice such as rolling 4d6 and dropping the lowest for
7
14
  # ability scores or rolling with advantage and disadvantage if those mechanics
8
15
  # exist in your game.
9
16
  #
10
- # Usage:
11
- # Right now there is only a single class method :total_dice
17
+ # This module is broken down into multiple source files:
18
+ # The class_methods file has all of the module_level methods called by NerdDice.method_name
12
19
  #
13
- # If you wanted to roll a single d4, you would execute:
14
- # <tt>NerdDice.total_dice(4)</tt>
15
- #
16
- # If you wanted to roll 3d6, you would execute
17
- # <tt>NerdDice.total_dice(6, 3)</tt>
18
- #
19
- # If you wanted to roll a d20 and add 5 to the value, you would execute
20
- # <tt>NerdDice.total_dice(20, 1, { bonus: 5 })</tt>
21
- #
22
- # The bonus in the options hash must be an Integer or it will be ignored
20
+ # See the README for overall usage for the module
23
21
  module NerdDice
24
22
  class Error < StandardError; end
25
23
 
26
- ############################
27
- # total_dice class method
28
- ############################
29
- # Arguments:
30
- # number_of_sides (Integer) => the number of sides of the dice to roll
31
- # number_of_dice (Integer, DEFAULT: 1) => the quantity to roll of the type
32
- # of die specified in the number_of_sides argument.
33
- # options (Hash, DEFAULT: {}) any additional options you wish to include
34
- # :bonus (Integer) => The total bonus (positive integer) or penalty
35
- # (negative integer) to modify the total by. Is added to the total of
36
- # all dice after they are totaled, not to each die rolled
37
- #
38
- # Return (Integer) => Total of the dice rolled, plus modifier if applicable
39
- def self.total_dice(number_of_sides, number_of_dice = 1, opts = {})
40
- total = 0
41
- number_of_dice.times do
42
- total += rand(number_of_sides) + 1
43
- end
44
- total += opts[:bonus] if opts[:bonus].is_a?(Integer)
45
- total
46
- end
24
+ RANDOMIZATION_TECHNIQUES = %i[securerandom random_rand random_object randomized].freeze
25
+ ABILITY_SCORE_KEYS = %i[ability_score_array_size ability_score_number_of_sides ability_score_dice_rolled
26
+ ability_score_dice_kept].freeze
27
+
28
+ extend ConvenienceMethods
47
29
  end
data/nerd_dice.gemspec CHANGED
@@ -24,10 +24,10 @@ Gem::Specification.new do |spec|
24
24
 
25
25
  spec.metadata["homepage_uri"] = spec.homepage
26
26
  spec.metadata["source_code_uri"] = "https://github.com/statelesscode/nerd_dice"
27
- spec.metadata["changelog_uri"] = "https://github.com/statelesscode/nerd_dice/CHANGELOG.md"
27
+ spec.metadata["changelog_uri"] = "https://github.com/statelesscode/nerd_dice/blob/master/CHANGELOG.md"
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
- spec.metadata["documentation_uri"] = "https://github.com/statelesscode/nerd_dice/README.md"
30
+ spec.metadata["github_repo"] = "https://github.com/statelesscode/nerd_dice"
31
31
 
32
32
  # Specify which files should be added to the gem when it is released.
33
33
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
@@ -40,11 +40,16 @@ Gem::Specification.new do |spec|
40
40
 
41
41
  # Certs and signing
42
42
  spec.cert_chain = ["certs/msducheminjr.pem"]
43
- spec.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $PROGRAM_NAME.match?(/gem\z/)
43
+ spec.signing_key = File.expand_path("~/.ssh/gem-private_key.pem") if $PROGRAM_NAME.end_with?("gem")
44
44
 
45
45
  # Dependencies
46
- spec.add_development_dependency "rubocop", "~> 1.5", ">= 1.5.2"
47
- spec.add_development_dependency "rubocop-performance", "~> 1.9", ">= 1.9.1"
48
- spec.add_development_dependency "rubocop-rake", "~> 0.5", ">= 0.5.1"
49
- spec.add_development_dependency "rubocop-rspec", "~> 2.0", ">= 2.0.1"
46
+ spec.add_dependency "securerandom", "~> 0.1", ">= 0.1.1"
47
+
48
+ # Development Dependencies
49
+ spec.add_development_dependency "coveralls_reborn", "~> 0.23.0"
50
+ spec.add_development_dependency "rubocop", "~> 1.22", ">= 1.22.2"
51
+ spec.add_development_dependency "rubocop-performance", "~> 1.11", ">= 1.11.5"
52
+ spec.add_development_dependency "rubocop-rake", "~> 0.6", ">= 0.6.0"
53
+ spec.add_development_dependency "rubocop-rspec", "~> 2.5", ">= 2.5.0"
54
+ spec.add_development_dependency "simplecov-lcov", "~> 0.8.0"
50
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.1.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Duchemin
@@ -35,88 +35,136 @@ cert_chain:
35
35
  WQ4faXJSevxT+x9TgyUNJINPkz/KqreClzdL83cwxPzFFQto7zF6zMCsj0slqJjW
36
36
  EQ==
37
37
  -----END CERTIFICATE-----
38
- date: 2020-12-07 00:00:00.000000000 Z
38
+ date: 2021-10-23 00:00:00.000000000 Z
39
39
  dependencies:
40
+ - !ruby/object:Gem::Dependency
41
+ name: securerandom
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.1'
47
+ - - ">="
48
+ - !ruby/object:Gem::Version
49
+ version: 0.1.1
50
+ type: :runtime
51
+ prerelease: false
52
+ version_requirements: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - "~>"
55
+ - !ruby/object:Gem::Version
56
+ version: '0.1'
57
+ - - ">="
58
+ - !ruby/object:Gem::Version
59
+ version: 0.1.1
60
+ - !ruby/object:Gem::Dependency
61
+ name: coveralls_reborn
62
+ requirement: !ruby/object:Gem::Requirement
63
+ requirements:
64
+ - - "~>"
65
+ - !ruby/object:Gem::Version
66
+ version: 0.23.0
67
+ type: :development
68
+ prerelease: false
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - "~>"
72
+ - !ruby/object:Gem::Version
73
+ version: 0.23.0
40
74
  - !ruby/object:Gem::Dependency
41
75
  name: rubocop
42
76
  requirement: !ruby/object:Gem::Requirement
43
77
  requirements:
44
78
  - - "~>"
45
79
  - !ruby/object:Gem::Version
46
- version: '1.5'
80
+ version: '1.22'
47
81
  - - ">="
48
82
  - !ruby/object:Gem::Version
49
- version: 1.5.2
83
+ version: 1.22.2
50
84
  type: :development
51
85
  prerelease: false
52
86
  version_requirements: !ruby/object:Gem::Requirement
53
87
  requirements:
54
88
  - - "~>"
55
89
  - !ruby/object:Gem::Version
56
- version: '1.5'
90
+ version: '1.22'
57
91
  - - ">="
58
92
  - !ruby/object:Gem::Version
59
- version: 1.5.2
93
+ version: 1.22.2
60
94
  - !ruby/object:Gem::Dependency
61
95
  name: rubocop-performance
62
96
  requirement: !ruby/object:Gem::Requirement
63
97
  requirements:
64
98
  - - "~>"
65
99
  - !ruby/object:Gem::Version
66
- version: '1.9'
100
+ version: '1.11'
67
101
  - - ">="
68
102
  - !ruby/object:Gem::Version
69
- version: 1.9.1
103
+ version: 1.11.5
70
104
  type: :development
71
105
  prerelease: false
72
106
  version_requirements: !ruby/object:Gem::Requirement
73
107
  requirements:
74
108
  - - "~>"
75
109
  - !ruby/object:Gem::Version
76
- version: '1.9'
110
+ version: '1.11'
77
111
  - - ">="
78
112
  - !ruby/object:Gem::Version
79
- version: 1.9.1
113
+ version: 1.11.5
80
114
  - !ruby/object:Gem::Dependency
81
115
  name: rubocop-rake
82
116
  requirement: !ruby/object:Gem::Requirement
83
117
  requirements:
84
118
  - - "~>"
85
119
  - !ruby/object:Gem::Version
86
- version: '0.5'
120
+ version: '0.6'
87
121
  - - ">="
88
122
  - !ruby/object:Gem::Version
89
- version: 0.5.1
123
+ version: 0.6.0
90
124
  type: :development
91
125
  prerelease: false
92
126
  version_requirements: !ruby/object:Gem::Requirement
93
127
  requirements:
94
128
  - - "~>"
95
129
  - !ruby/object:Gem::Version
96
- version: '0.5'
130
+ version: '0.6'
97
131
  - - ">="
98
132
  - !ruby/object:Gem::Version
99
- version: 0.5.1
133
+ version: 0.6.0
100
134
  - !ruby/object:Gem::Dependency
101
135
  name: rubocop-rspec
102
136
  requirement: !ruby/object:Gem::Requirement
103
137
  requirements:
104
138
  - - "~>"
105
139
  - !ruby/object:Gem::Version
106
- version: '2.0'
140
+ version: '2.5'
107
141
  - - ">="
108
142
  - !ruby/object:Gem::Version
109
- version: 2.0.1
143
+ version: 2.5.0
110
144
  type: :development
111
145
  prerelease: false
112
146
  version_requirements: !ruby/object:Gem::Requirement
113
147
  requirements:
114
148
  - - "~>"
115
149
  - !ruby/object:Gem::Version
116
- version: '2.0'
150
+ version: '2.5'
117
151
  - - ">="
118
152
  - !ruby/object:Gem::Version
119
- version: 2.0.1
153
+ version: 2.5.0
154
+ - !ruby/object:Gem::Dependency
155
+ name: simplecov-lcov
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - "~>"
159
+ - !ruby/object:Gem::Version
160
+ version: 0.8.0
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: 0.8.0
120
168
  description: |2
121
169
  Nerd dice allows you to roll polyhedral dice and add bonuses as you would in
122
170
  a tabletop roleplaying game. You can choose to roll multiple dice and keep a
@@ -127,14 +175,16 @@ email:
127
175
  - statelesscode@gmail.com
128
176
  executables:
129
177
  - console
178
+ - generate_checksums
179
+ - nerd_dice_benchmark
130
180
  - setup
131
181
  extensions: []
132
182
  extra_rdoc_files: []
133
183
  files:
184
+ - ".github/workflows/main.yml"
134
185
  - ".gitignore"
135
186
  - ".rspec"
136
187
  - ".rubocop.yml"
137
- - ".travis.yml"
138
188
  - BURN_THE_CONTRIBUTOR_COVENANT_WITH_FIRE.md
139
189
  - CHANGELOG.md
140
190
  - Gemfile
@@ -144,8 +194,33 @@ files:
144
194
  - Rakefile
145
195
  - UNLICENSE.txt
146
196
  - bin/console
197
+ - bin/generate_checksums
198
+ - bin/nerd_dice_benchmark
147
199
  - bin/setup
200
+ - certs/msducheminjr.pem
201
+ - checksum/nerd_dice-0.1.0.gem.sha256
202
+ - checksum/nerd_dice-0.1.0.gem.sha512
203
+ - checksum/nerd_dice-0.1.1.gem.sha256
204
+ - checksum/nerd_dice-0.1.1.gem.sha512
205
+ - checksum/nerd_dice-0.2.0.gem.sha256
206
+ - checksum/nerd_dice-0.2.0.gem.sha512
207
+ - checksum/nerd_dice-0.3.0.gem.sha256
208
+ - checksum/nerd_dice-0.3.0.gem.sha512
148
209
  - lib/nerd_dice.rb
210
+ - lib/nerd_dice/class_methods.rb
211
+ - lib/nerd_dice/class_methods/configure.rb
212
+ - lib/nerd_dice/class_methods/execute_die_roll.rb
213
+ - lib/nerd_dice/class_methods/harvest_totals.rb
214
+ - lib/nerd_dice/class_methods/refresh_seed.rb
215
+ - lib/nerd_dice/class_methods/roll_ability_scores.rb
216
+ - lib/nerd_dice/class_methods/roll_dice.rb
217
+ - lib/nerd_dice/class_methods/total_ability_scores.rb
218
+ - lib/nerd_dice/class_methods/total_dice.rb
219
+ - lib/nerd_dice/configuration.rb
220
+ - lib/nerd_dice/convenience_methods.rb
221
+ - lib/nerd_dice/dice_set.rb
222
+ - lib/nerd_dice/die.rb
223
+ - lib/nerd_dice/sets_randomization_technique.rb
149
224
  - lib/nerd_dice/version.rb
150
225
  - nerd_dice.gemspec
151
226
  homepage: https://github.com/statelesscode/nerd_dice
@@ -156,9 +231,10 @@ metadata:
156
231
  allowed_push_host: https://rubygems.org
157
232
  homepage_uri: https://github.com/statelesscode/nerd_dice
158
233
  source_code_uri: https://github.com/statelesscode/nerd_dice
159
- changelog_uri: https://github.com/statelesscode/nerd_dice/CHANGELOG.md
234
+ changelog_uri: https://github.com/statelesscode/nerd_dice/blob/master/CHANGELOG.md
160
235
  bug_tracker_uri: https://github.com/statelesscode/nerd_dice/issues
161
236
  documentation_uri: https://github.com/statelesscode/nerd_dice/README.md
237
+ github_repo: https://github.com/statelesscode/nerd_dice
162
238
  post_install_message:
163
239
  rdoc_options: []
164
240
  require_paths:
@@ -174,7 +250,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
174
250
  - !ruby/object:Gem::Version
175
251
  version: '0'
176
252
  requirements: []
177
- rubygems_version: 3.1.4
253
+ rubygems_version: 3.2.22
178
254
  signing_key:
179
255
  specification_version: 4
180
256
  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