Class: ParaDice::Results::AndKeep
- Inherits:
-
Object
- Object
- ParaDice::Results::AndKeep
- Defined in:
- lib/para_dice/results/and_keep.rb
Overview
Results class to implement a roll 5 and keep 3 style of play
Constant Summary collapse
- DEFAULT_SORT_BY =
default sort order. passed to sort_by. defaults to a simple pass through
->(obj) { obj }
Instance Attribute Summary collapse
-
#:default_keep(: default_keep) ⇒ Fixnum
The default number of dice to keep.
-
#:default_low_results(: default_low_results) ⇒ Boolean
Keep dice off of the low end of the order.
-
#:default_sort_by(: default_sort_by) ⇒ Proc
The sort by block defaults to passing the object through to sort.
-
#default_keep ⇒ Object
Returns the value of attribute default_keep.
-
#default_low_results ⇒ Object
Returns the value of attribute default_low_results.
-
#default_sort_by ⇒ Object
Returns the value of attribute default_sort_by.
Instance Method Summary collapse
-
#initialize(default_keep = nil) ⇒ AndKeep
constructor
A new instance of AndKeep.
- #resolve(faces, keep = default_keep, low_results = false) {|obj| ... } ⇒ Array<String>
Constructor Details
#initialize(default_keep = nil) ⇒ AndKeep
Returns a new instance of AndKeep.
18 19 20 |
# File 'lib/para_dice/results/and_keep.rb', line 18 def initialize(default_keep = nil) @default_keep = default_keep end |
Instance Attribute Details
#:default_keep(: default_keep) ⇒ Fixnum
Returns the default number of dice to keep.
16 |
# File 'lib/para_dice/results/and_keep.rb', line 16 attr_accessor :default_keep, :default_low_results, :default_sort_by |
#:default_low_results(: default_low_results) ⇒ Boolean
Returns keep dice off of the low end of the order. false by default.
16 |
# File 'lib/para_dice/results/and_keep.rb', line 16 attr_accessor :default_keep, :default_low_results, :default_sort_by |
#:default_sort_by(: default_sort_by) ⇒ Proc
Returns the sort by block defaults to passing the object through to sort.
16 |
# File 'lib/para_dice/results/and_keep.rb', line 16 attr_accessor :default_keep, :default_low_results, :default_sort_by |
#default_keep ⇒ Object
Returns the value of attribute default_keep.
16 17 18 |
# File 'lib/para_dice/results/and_keep.rb', line 16 def default_keep @default_keep end |
#default_low_results ⇒ Object
Returns the value of attribute default_low_results.
16 17 18 |
# File 'lib/para_dice/results/and_keep.rb', line 16 def default_low_results @default_low_results end |
#default_sort_by ⇒ Object
Returns the value of attribute default_sort_by.
16 17 18 |
# File 'lib/para_dice/results/and_keep.rb', line 16 def default_sort_by @default_sort_by end |
Instance Method Details
#resolve(faces, keep = default_keep, low_results = false) {|obj| ... } ⇒ Array<String>
28 29 30 31 32 33 34 35 |
# File 'lib/para_dice/results/and_keep.rb', line 28 def resolve(faces, keep = default_keep, low_results = false, &blk) results_method = low_results ? :first : :last if block_given? faces.sort_by(&blk).to_a.send(results_method, keep) else faces.sort_by(&default_sort_by).to_a.send(results_method, keep) end end |