hazard 1.3.3 → 1.3.4
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
- data/Gemfile +0 -6
- data/hazard.gemspec +4 -1
- data/lib/hazard.rb +17 -10
- data/lib/hazard/version.rb +1 -1
- data/test/hazard_test.rb +3 -1
- data/test/test_helper.rb +3 -2
- data/test/weighted_table_test.rb +1 -1
- metadata +33 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50b9cb69a3dcd78e8cc90e756d71a51869118c98
|
4
|
+
data.tar.gz: 80a6c159dfc55679123bebb37aad183d6249a102
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2cf192d13b710bcaefa0f4f4f36f3f5a2a0ead0d306d5c09120e440441475a846c559f4242a02c215d122ae7cb2c5d7de545289e307c3265cc9b8331a01b6d1
|
7
|
+
data.tar.gz: 5d616d381b83b74c07c150e50ad4d47adcd03fcc151141aa19aafd4ca8b9c692f13778a0dcf3253aa0b33f18a5fb5c5d41f7a313ac31a2ecb46a90aa391f52b9
|
data/Gemfile
CHANGED
data/hazard.gemspec
CHANGED
@@ -26,7 +26,10 @@ Gem::Specification.new do |spec|
|
|
26
26
|
|
27
27
|
# spec.add_development_dependency 'bundler', '~> 1.13'
|
28
28
|
spec.add_development_dependency 'rake', '~> 13.0'
|
29
|
-
|
29
|
+
|
30
|
+
spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0.0'
|
31
|
+
spec.add_development_dependency 'mocha'
|
32
|
+
spec.add_development_dependency 'simplecov', '0.17.1'
|
30
33
|
|
31
34
|
spec.required_ruby_version = '>= 2.2'
|
32
35
|
|
data/lib/hazard.rb
CHANGED
@@ -64,21 +64,28 @@ class Hazard
|
|
64
64
|
# Get the type of dice
|
65
65
|
dice_type = dice_match[3].to_i
|
66
66
|
|
67
|
-
#
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
67
|
+
# In some strange cases the user can request a roll of zero dice.
|
68
|
+
# in this case we return nil.
|
69
|
+
dm = dice_amount(dice_match)
|
70
|
+
if dm > 0
|
71
|
+
# Rolls the dice
|
72
|
+
rolls = ( 1..dice_amount(dice_match) ).map{ Kernel.rand( 1..dice_type ) }
|
73
|
+
|
74
|
+
# Unless splitted_result was requested, return the sum of the rolled dice
|
75
|
+
return rolls.reduce(:+) unless splitted_result
|
76
|
+
|
77
|
+
# Return a RolledDice otherwise
|
78
|
+
RolledDice.new( rolls )
|
79
|
+
end
|
75
80
|
end
|
76
81
|
|
77
82
|
def self.dice_amount( dice_match )
|
78
83
|
# Get the dice amount
|
79
|
-
dice_amount = dice_match[2]
|
84
|
+
dice_amount = dice_match[2]
|
85
|
+
|
80
86
|
# If no amount is given then the amount is 1
|
81
|
-
|
87
|
+
# But if zero dice is specifically required we respect this choice.
|
88
|
+
dice_amount.empty? ? 1 : dice_amount.to_i
|
82
89
|
end
|
83
90
|
|
84
91
|
end
|
data/lib/hazard/version.rb
CHANGED
data/test/hazard_test.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
-
class HazardTest <
|
3
|
+
class HazardTest < Test::Unit::TestCase
|
4
4
|
|
5
5
|
def test_dice
|
6
6
|
|
@@ -16,6 +16,7 @@ class HazardTest < Minitest::Test
|
|
16
16
|
|
17
17
|
assert_equal RolledDice.new([6, 6 ] ), Hazard.s2d6
|
18
18
|
|
19
|
+
refute Hazard.s0d6
|
19
20
|
end
|
20
21
|
|
21
22
|
def test_dice_from_string
|
@@ -32,6 +33,7 @@ class HazardTest < Minitest::Test
|
|
32
33
|
|
33
34
|
assert_equal RolledDice.new([6, 6 ] ), Hazard.from_string( 's2d6' )
|
34
35
|
|
36
|
+
refute Hazard.from_string( 's0d6' )
|
35
37
|
end
|
36
38
|
|
37
39
|
def test_lucky
|
data/test/test_helper.rb
CHANGED
data/test/weighted_table_test.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hazard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cédric ZUGER
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -25,19 +25,47 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '13.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: codeclimate-test-reporter
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 1.0.0
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 1.0.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: mocha
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: simplecov
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - '='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.17.1
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - '='
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: 0.17.1
|
41
69
|
description: A very simple dice library for ruby
|
42
70
|
email:
|
43
71
|
- zuger.cedric@gmail.com
|