class Rollr::Roll

Attributes

die[R]
quantity[R]
result[R]
sides[R]

Public Class Methods

new(die:, quantity:, result: nil) click to toggle source
# File lib/rollr/roll.rb, line 5
def initialize(die:, quantity:, result: nil)
  @die = die
  @quantity = quantity
  @sides = die.sides
  @result = result || roll!
end

Public Instance Methods

drop(quantity:,extremity:) click to toggle source
# 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

Private Instance Methods

new_roll_with(result:) click to toggle source
# File lib/rollr/roll.rb, line 23
def new_roll_with(result:)
  return Roll.new(
    die: die,
    quantity: quantity,
    result: result
  )
end
roll!() click to toggle source
# File lib/rollr/roll.rb, line 31
def roll!
  (1..quantity).map { die.simple_roll }
end