Class: PcQueues::QueueRules::SampleQueueRule
- Inherits:
-
PcQueues::QueueRule
- Object
- ActiveRecord::Base
- PcQueues::QueueRule
- PcQueues::QueueRules::SampleQueueRule
- Defined in:
- lib/pc_queues/queue_rules/sample_queue_rule.rb
Overview
A SampleQueueRule is a QueueRule that will ‘pass’ for a perscribed sample of occurrences
Sampling is random, so you many find slightly more or less than the perscribed number of items passing.
Constant Summary collapse
- @@die =
Random.new
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from PcQueues::QueueRule
Class Method Details
.options(opts = {}) ⇒ Object
18 19 20 21 22 |
# File 'lib/pc_queues/queue_rules/sample_queue_rule.rb', line 18 def self.(opts = {}) opts[:numeric_value] ||= opts[:sample_percent] opts.except! :sample_percent super end |
Instance Method Details
#passes?(obj, *args) ⇒ Boolean
30 31 32 |
# File 'lib/pc_queues/queue_rules/sample_queue_rule.rb', line 30 def passes?(obj, *args) sample_percent == 100 || @@die.rand(100) < sample_percent end |
#sample_percent ⇒ Object
26 27 28 |
# File 'lib/pc_queues/queue_rules/sample_queue_rule.rb', line 26 def sample_percent numeric_value end |