Class: Plines::Configuration
- Inherits:
-
Object
- Object
- Plines::Configuration
- Defined in:
- lib/plines/configuration.rb
Overview
Stores global Plines configuration.
Defined Under Namespace
Classes: Error
Constant Summary collapse
- TWO_MONTHS_IN_SECONDS =
2 * 30 * 24 * 60 * 60
Instance Attribute Summary collapse
-
#data_ttl_in_seconds ⇒ Object
Returns the value of attribute data_ttl_in_seconds.
-
#qless_job_options_block ⇒ Object
readonly
Returns the value of attribute qless_job_options_block.
Instance Method Summary collapse
- #after_job_batch_cancellation(&block) ⇒ Object
- #batch_list_key(&block) ⇒ Object
- #batch_list_key_for(batch_data) ⇒ Object
- #data_ttl_in_milliseconds ⇒ Object
-
#initialize ⇒ Configuration
constructor
A new instance of Configuration.
- #notify(callback_type, *args) ⇒ Object
- #qless_client(&block) ⇒ Object
- #qless_client_for(key) ⇒ Object
- #qless_job_options(&block) ⇒ Object
Constructor Details
#initialize ⇒ Configuration
Returns a new instance of Configuration.
9 10 11 12 13 14 15 16 |
# File 'lib/plines/configuration.rb', line 9 def initialize qless_client { raise Error, "qless_client has not been configured" } batch_list_key { raise Error, "batch_list_key has not been configured" } { |job| {} } self.data_ttl_in_seconds = TWO_MONTHS_IN_SECONDS @callbacks = Hash.new { |h, k| h[k] = [] } end |
Instance Attribute Details
#data_ttl_in_seconds ⇒ Object
Returns the value of attribute data_ttl_in_seconds.
34 35 36 |
# File 'lib/plines/configuration.rb', line 34 def data_ttl_in_seconds @data_ttl_in_seconds end |
#qless_job_options_block ⇒ Object (readonly)
Returns the value of attribute qless_job_options_block.
39 40 41 |
# File 'lib/plines/configuration.rb', line 39 def @qless_job_options_block end |
Instance Method Details
#after_job_batch_cancellation(&block) ⇒ Object
44 45 46 |
# File 'lib/plines/configuration.rb', line 44 def after_job_batch_cancellation(&block) @callbacks[:after_job_batch_cancellation] << block end |
#batch_list_key(&block) ⇒ Object
26 27 28 |
# File 'lib/plines/configuration.rb', line 26 def batch_list_key(&block) @batch_list_key_block = block end |
#batch_list_key_for(batch_data) ⇒ Object
30 31 32 |
# File 'lib/plines/configuration.rb', line 30 def batch_list_key_for(batch_data) @batch_list_key_block[batch_data] end |
#data_ttl_in_milliseconds ⇒ Object
35 36 37 |
# File 'lib/plines/configuration.rb', line 35 def data_ttl_in_milliseconds (data_ttl_in_seconds * 1000).to_i end |
#notify(callback_type, *args) ⇒ Object
48 49 50 51 52 |
# File 'lib/plines/configuration.rb', line 48 def notify(callback_type, *args) @callbacks[callback_type].each do |callback| callback.call(*args) end end |
#qless_client(&block) ⇒ Object
18 19 20 |
# File 'lib/plines/configuration.rb', line 18 def qless_client(&block) @qless_client_block = block end |
#qless_client_for(key) ⇒ Object
22 23 24 |
# File 'lib/plines/configuration.rb', line 22 def qless_client_for(key) @qless_client_block[key] end |
#qless_job_options(&block) ⇒ Object
40 41 42 |
# File 'lib/plines/configuration.rb', line 40 def (&block) @qless_job_options_block = block end |