Class: Rollr::Roll

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(die:, quantity:, result: nil) ⇒ Roll

Returns a new instance of Roll.



5
6
7
8
9
10
# File 'lib/rollr/roll.rb', line 5

def initialize(die:, quantity:, result: nil)
  @die = die
  @quantity = quantity
  @sides = die.sides
  @result = result || roll!
end

Instance Attribute Details

#dieObject (readonly)

Returns the value of attribute die.



3
4
5
# File 'lib/rollr/roll.rb', line 3

def die
  @die
end

#quantityObject (readonly)

Returns the value of attribute quantity.



3
4
5
# File 'lib/rollr/roll.rb', line 3

def quantity
  @quantity
end

#resultObject (readonly)

Returns the value of attribute result.



3
4
5
# File 'lib/rollr/roll.rb', line 3

def result
  @result
end

#sidesObject (readonly)

Returns the value of attribute sides.



3
4
5
# File 'lib/rollr/roll.rb', line 3

def sides
  @sides
end

Instance Method Details

#drop(quantity:, extremity:) ⇒ Object



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

def drop(quantity:,extremity:)
  return new_roll_with(
  result: Dropper.dropper_for(
      quantity: quantity,
      extremity: extremity,
      rolls: result
    ).filter
  )
end