Class: Extface::Job

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/extface/job.rb

Instance Method Summary collapse

Instance Method Details

#complete! ⇒ Object



7
8
9
10
11
# File 'app/models/extface/job.rb', line 7

def complete!
  self.completed_at = Time.now
  save!
  notify("Job #{self.id} completed!")
end

#completed? ⇒ Boolean

Returns:

  • (Boolean)


13
14
15
# File 'app/models/extface/job.rb', line 13

def completed?
  !!completed_at
end

#connected! ⇒ Object



17
18
19
20
21
22
23
# File 'app/models/extface/job.rb', line 17

def connected!
  unless connected?
    self.connected_at = Time.now
    save!
    notify("Job #{self.id} device connected!")
  end
end

#connected? ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'app/models/extface/job.rb', line 25

def connected?
  !!connected_at?
end

#failed!(message) ⇒ Object



29
30
31
32
33
34
35
# File 'app/models/extface/job.rb', line 29

def failed!(message)
  self.error = message
  self.failed_at = Time.now
  save!
  notify(message)
  notify("Job #{self.id} failed!")
end

#failed? ⇒ Boolean

Returns:

  • (Boolean)


37
38
39
# File 'app/models/extface/job.rb', line 37

def failed?
  !!failed_at
end

#notify(message) ⇒ Object



41
42
43
44
45
# File 'app/models/extface/job.rb', line 41

def notify(message)
  Extface.redis_block do |r|
    r.publish(self.id, message)
  end
end

#rpush(buffer) ⇒ Object



47
48
49
50
51
# File 'app/models/extface/job.rb', line 47

def rpush(buffer)
  Extface.redis_block do |r|
    r.rpush self.id, buffer
  end
end