Class: Karousel
- Inherits:
-
Object
- Object
- Karousel
- Defined in:
- lib/karousel.rb,
lib/karousel/job.rb,
lib/karousel/errors.rb,
lib/karousel/version.rb,
lib/karousel/client_job.rb
Defined Under Namespace
Classes: ClientJob, Job, NotImplementedError
Constant Summary collapse
- STATUS =
{ init: 1, sent: 2, success: 3, failure: 4 }
- VERSION =
'0.9.14'
Instance Attribute Summary collapse
-
#seats ⇒ Object
readonly
Returns the value of attribute seats.
-
#size ⇒ Object
readonly
Returns the value of attribute size.
-
#time_interval ⇒ Object
readonly
Returns the value of attribute time_interval.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(klass, size = 10, time_interval = 0) ⇒ Karousel
constructor
A new instance of Karousel.
- #populate ⇒ Object
- #run(&block) ⇒ Object
Constructor Details
#initialize(klass, size = 10, time_interval = 0) ⇒ Karousel
Returns a new instance of Karousel.
12 13 14 15 16 17 |
# File 'lib/karousel.rb', line 12 def initialize(klass, size=10, time_interval = 0) @klass = klass @size = size @time_interval = time_interval @seats = [] end |
Instance Attribute Details
#seats ⇒ Object (readonly)
Returns the value of attribute seats.
5 6 7 |
# File 'lib/karousel.rb', line 5 def seats @seats end |
#size ⇒ Object (readonly)
Returns the value of attribute size.
5 6 7 |
# File 'lib/karousel.rb', line 5 def size @size end |
#time_interval ⇒ Object (readonly)
Returns the value of attribute time_interval.
5 6 7 |
# File 'lib/karousel.rb', line 5 def time_interval @time_interval end |
Class Method Details
.version ⇒ Object
8 9 10 |
# File 'lib/karousel.rb', line 8 def self.version VERSION end |
Instance Method Details
#populate ⇒ Object
19 20 21 22 23 24 25 |
# File 'lib/karousel.rb', line 19 def populate new_seats = [] @klass.populate(@size - @seats.size).each do |inst| new_seats << Job.new(inst) end @seats = new_seats + @seats end |
#run(&block) ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/karousel.rb', line 27 def run(&block) populate until @seats.empty? do send_request sleep(@time_interval) check_response yield if block populate end end |