Module: ParaDice::Faces::Ranged
- Included in:
- NumberedDie
- Defined in:
- lib/para_dice/faces/ranged.rb
Overview
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
Instance Attribute Summary collapse
-
#range ⇒ Object
return [Range].
Instance Method Summary collapse
-
#face_count ⇒ Fixnum
Size of range.
-
#faces ⇒ Array<Fixnum>
Result of range.to_a.
-
#random_face(random_face_rng = rng) ⇒ Fixnum
Random element of range.
Instance Attribute Details
#range ⇒ Object
return [Range]
13 |
# File 'lib/para_dice/faces/ranged.rb', line 13 attribute :range, Range, default: :quit_if_no_range |
Instance Method Details
#face_count ⇒ Fixnum
Returns size of range.
16 17 18 |
# File 'lib/para_dice/faces/ranged.rb', line 16 def face_count range.size end |
#faces ⇒ Array<Fixnum>
Note:
this can be an unexpectedly expensive action for large ranges, please use carefully
Returns result of range.to_a.
23 24 25 |
# File 'lib/para_dice/faces/ranged.rb', line 23 def faces @faces ||= range.to_a end |
#random_face(random_face_rng = rng) ⇒ Fixnum
Returns random element of range.
29 30 31 |
# 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 |