Module: ActiveWaiter

Defined in:
lib/active_waiter.rb,
lib/active_waiter/store.rb,
lib/active_waiter/engine.rb,
lib/active_waiter/version.rb,
lib/active_waiter/configuration.rb,
app/helpers/active_waiter/application_helper.rb,
app/controllers/active_waiter/jobs_controller.rb,
app/controllers/active_waiter/application_controller.rb

Defined Under Namespace

Modules: ApplicationHelper, EnumerableJob, Job Classes: ApplicationController, Configuration, Engine, JobsController, Store

Constant Summary collapse

VERSION =
"0.3.4"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.configurationObject



5
6
7
# File 'lib/active_waiter/configuration.rb', line 5

def configuration
  @configuration ||= Configuration.new
end

Class Method Details

.configure {|configuration| ... } ⇒ Object

Yields:



9
10
11
# File 'lib/active_waiter/configuration.rb', line 9

def configure
  yield configuration
end

.enqueue(klass, *arguments) ⇒ Object



13
14
15
16
17
18
# File 'lib/active_waiter.rb', line 13

def enqueue(klass, *arguments)
  next_uuid.tap do |uid|
    ActiveWaiter.write(uid, {})
    klass.perform_later({ uid: uid }, *arguments)
  end
end

.next_uuidObject



9
10
11
# File 'lib/active_waiter.rb', line 9

def next_uuid
  SecureRandom.uuid
end

.read(uid) ⇒ Object



24
25
26
# File 'lib/active_waiter.rb', line 24

def read(uid)
  ActiveWaiter.configuration.store.read(uid)
end

.write(uid, value) ⇒ Object



20
21
22
# File 'lib/active_waiter.rb', line 20

def write(uid, value)
  ActiveWaiter.configuration.store.write(uid, value)
end