module ParaDice::Faces::Ranged
a module to be included into a ParaDice::Die
or similar object.
Uses a Range object to provide a faces, and provides special count and random_face options
Public Instance Methods
face_count()
click to toggle source
@return [Fixnum] size of range
# File lib/para_dice/faces/ranged.rb, line 16 def face_count range.size end
faces()
click to toggle source
@note this can be an unexpectedly expensive action for large ranges,
please use carefully
@return [Array<Fixnum>] result of range.to_a
# File lib/para_dice/faces/ranged.rb, line 23 def faces @faces ||= range.to_a end
random_face(random_face_rng = rng)
click to toggle source
@param [nil,Random] random_face_rng defaults to self.rng @return [Fixnum] random element of range
# File lib/para_dice/faces/ranged.rb, line 29 def random_face(random_face_rng = rng) random_face_rng.rand(range.size) + range.first end
Private Instance Methods
quit_if_no_range()
click to toggle source
# File lib/para_dice/faces/ranged.rb, line 34 def quit_if_no_range raise ArgumentError.new('no :range entry found in initialization hash') end