Class: Rollr::RollReport

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

Instance Method Summary collapse

Constructor Details

#initialize(roll) ⇒ RollReport

Returns a new instance of RollReport.



4
5
6
# File 'lib/rollr/roll_report.rb', line 4

def initialize(roll)
  @roll = roll
end

Instance Method Details

#dieObject



16
17
18
# File 'lib/rollr/roll_report.rb', line 16

def die
  roll.die
end

#drop(quantity:, extremity:) ⇒ Object



32
33
34
35
36
# File 'lib/rollr/roll_report.rb', line 32

def drop(quantity:, extremity:)
  return RollReport.new(
    roll.drop(quantity: quantity, extremity: extremity)
  )
end

#drop_highest(quantity = 1) ⇒ Object



44
45
46
47
48
# File 'lib/rollr/roll_report.rb', line 44

def drop_highest(quantity = 1)
  return RollReport.new(
    roll.drop(quantity: quantity, extremity: :highest)
  )
end

#drop_lowest(quantity = 1) ⇒ Object



38
39
40
41
42
# File 'lib/rollr/roll_report.rb', line 38

def drop_lowest(quantity = 1)
  return RollReport.new(
    roll.drop(quantity: quantity, extremity: :lowest)
  )
end

#quantityObject



28
29
30
# File 'lib/rollr/roll_report.rb', line 28

def quantity
  @_quantity ||= rolls.count
end

#rollsObject



20
21
22
# File 'lib/rollr/roll_report.rb', line 20

def rolls
  @_rolls ||= roll.result
end

#sidesObject



12
13
14
# File 'lib/rollr/roll_report.rb', line 12

def sides
  die.sides
end

#to_iObject



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

def to_i
  total
end

#totalObject



24
25
26
# File 'lib/rollr/roll_report.rb', line 24

def total
  @_total ||= rolls.inject(:+)
end