Class: Rollr::Die

Inherits:
Object
  • Object
show all
Defined in:
lib/rollr/die.rb

Constant Summary collapse

ZERO_INDEX_FIXER =
1

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sides, randomizer: SecureRandom) ⇒ Die

Returns a new instance of Die.



8
9
10
11
# File 'lib/rollr/die.rb', line 8

def initialize(sides, randomizer: SecureRandom)
  @sides = sides
  @randomizer = randomizer
end

Instance Attribute Details

#randomizerObject

Returns the value of attribute randomizer.



6
7
8
# File 'lib/rollr/die.rb', line 6

def randomizer
  @randomizer
end

#sidesObject

Returns the value of attribute sides.



6
7
8
# File 'lib/rollr/die.rb', line 6

def sides
  @sides
end

Instance Method Details

#roll(quantity = 1) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/rollr/die.rb', line 13

def roll(quantity = 1)
  Rollr::RollReport.new(
    Rollr::Roll.new(
      quantity: quantity,
      die: self
    )
  )
end

#simple_rollObject



22
23
24
# File 'lib/rollr/die.rb', line 22

def simple_roll
  randomizer.random_number(sides).to_i + ZERO_INDEX_FIXER
end