Class: Rollr::Dropper

Inherits:
Filter
  • Object
show all
Defined in:
lib/rollr/filters/droppers/dropper.rb

Direct Known Subclasses

HighDropper, LowDropper

Instance Attribute Summary

Attributes inherited from Filter

#quantity, #rolls

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Filter

#initialize

Constructor Details

This class inherits a constructor from Rollr::Filter

Class Method Details

.dropper_for(quantity:, extremity:, rolls:) ⇒ Object



4
5
6
7
8
# File 'lib/rollr/filters/droppers/dropper.rb', line 4

def self.dropper_for(quantity:,extremity:, rolls:)
  Object.const_get(
    "Rollr::#{extremity.to_s.gsub("est","").capitalize}Dropper"
  ).new(quantity: quantity, rolls: rolls)
end

Instance Method Details

#filterObject



10
11
12
# File 'lib/rollr/filters/droppers/dropper.rb', line 10

def filter
  ordered.first(remainder)
end

#orderedObject

Raises:

  • (NotImplementedError)


14
15
16
# File 'lib/rollr/filters/droppers/dropper.rb', line 14

def ordered
  raise NotImplementedError
end

#remainderObject



18
19
20
# File 'lib/rollr/filters/droppers/dropper.rb', line 18

def remainder
  rolls.length - quantity
end