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



22
23
24
# File 'lib/instances/action_instance.rb', line 22

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

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



26
27
28
29
# File 'lib/instances/action_instance.rb', line 26

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
19
20
# File 'lib/instances/action_instance.rb', line 10

def start(params)
  begin
    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
end