nerd_dice 0.1.0 → 0.4.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.
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