Module: ActiveJob::Status

Extended by:
ActiveSupport::Concern
Defined in:
lib/activejob-status.rb,
lib/activejob-status/status.rb,
lib/activejob-status/storage.rb,
lib/activejob-status/version.rb,
lib/activejob-status/progress.rb,
lib/activejob-status/throttle.rb

Defined Under Namespace

Classes: Progress, Status, Storage, Throttle

Constant Summary collapse

DEFAULT_OPTIONS =
{
  expires_in: 60 * 30,
  throttle_interval: 0,
  includes: %i[status]
}.freeze
VERSION =
"1.0.1"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.get(id) ⇒ Object



60
61
62
# File 'lib/activejob-status.rb', line 60

def get(id)
  Status.new(id)
end

.optionsObject



47
48
49
# File 'lib/activejob-status.rb', line 47

def options
  @@options ||= DEFAULT_OPTIONS
end

.options=(options) ⇒ Object



42
43
44
45
# File 'lib/activejob-status.rb', line 42

def options=(options)
  options.assert_valid_keys(*DEFAULT_OPTIONS.keys)
  @@options = DEFAULT_OPTIONS.merge(options)
end

.storeObject



56
57
58
# File 'lib/activejob-status.rb', line 56

def store
  @@store ||= (Rails.cache if defined?(Rails))
end

.store=(store) ⇒ Object



51
52
53
54
# File 'lib/activejob-status.rb', line 51

def store=(store)
  store = ActiveSupport::Cache.lookup_store(*store) if store.is_a?(Array) || store.is_a?(Symbol)
  @@store = store
end

Instance Method Details

#progressObject



37
38
39
# File 'lib/activejob-status.rb', line 37

def progress
  @progress ||= Progress.new(self)
end

#statusObject



33
34
35
# File 'lib/activejob-status.rb', line 33

def status
  @status ||= Status.new(self)
end