Class: Factor::Connector::ActionInstance

Inherits:
Instance
  • Object
show all
Includes:
Celluloid
Defined in:
lib/instances/action_instance.rb

Instance Attribute Summary collapse

Attributes inherited from Instance

#callback, #definition, #instance_id

Instance Method Summary collapse

Methods inherited from Instance

#debug, #error, #id, #info, #initialize, #log, #respond, #warn

Constructor Details

This class inherits a constructor from Factor::Connector::Instance

Instance Attribute Details

#service_idObject

Returns the value of attribute service_id.



8
9
10
# File 'lib/instances/action_instance.rb', line 8

def service_id
  @service_id
end

Instance Method Details

#action_callback(params = {}) ⇒ Object



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

def action_callback(params={})
  respond type:'return', payload:params
end

#fail(message, params = {}) ⇒ Object



24
25
26
27
# File 'lib/instances/action_instance.rb', line 24

def fail(message,params={})
  respond type:'fail', message: message
  raise Factor::Connector::Error, exception:params[:exception], message:message if !params[:throw]
end

#start(params) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/instances/action_instance.rb', line 10

def start(params)
  self.instance_exec params, &@definition.start
rescue Factor::Connector::Error => ex
  respond type:'fail', message:ex.message
  exception ex.exception,params:params if ex.exception
rescue => ex
  respond type:'fail', message:"Couldn't run action for unexpected reason. We've been informed and looking into it."
  exception ex,params:params
end