Class: Shingoncoder::Backend::JobRegistry

Inherits:
Object
  • Object
show all
Defined in:
lib/shingoncoder/backend/job_registry.rb

Defined Under Namespace

Classes: Job, Output

Class Method Summary collapse

Class Method Details

.create(input) ⇒ Object

Raises:

  • (ArgumentError)


6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/shingoncoder/backend/job_registry.rb', line 6

def create(input)
  raise ArgumentError, "Required argument ':input' is missing" unless input.key?(:input)
  outputs = input.delete(:outputs)
  outputs ||= default_output(input)
  Job.create(Job.input_column_name => input) do |job|
    outputs.each do |val|
      raise ArgumentError, "Output directive must have a url" unless val.key?(:url)

      job.outputs.build(Output.input_column_name => val)
    end
  end
end

.create_tables!Object



19
20
21
22
# File 'lib/shingoncoder/backend/job_registry.rb', line 19

def create_tables!
  Job.create_table!
  Output.create_table!
end

.drop_tables!Object



24
25
26
27
# File 'lib/shingoncoder/backend/job_registry.rb', line 24

def drop_tables!
  Job.drop_table!
  Output.drop_table!
end