Sha256: 70b8792287d74da2905506b75fe610c6598f4e22b7a153ba014b258c881564a3

Contents?: true

Size: 945 Bytes

Versions: 13

Compression:

Stored size: 945 Bytes

Contents

require_relative './instance.rb'

module Factor
  module Connector
    class ActionInstance < Factor::Connector::Instance
      include Celluloid
      attr_accessor :service_id

      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

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

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

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
factor-connector-api-0.0.13 ./lib/instances/action_instance.rb
factor-connector-api-0.0.12 ./lib/instances/action_instance.rb
factor-connector-api-0.0.11 ./lib/instances/action_instance.rb
factor-connector-api-0.0.10 ./lib/instances/action_instance.rb
factor-connector-api-0.0.9 ./lib/instances/action_instance.rb
factor-connector-api-0.0.8 ./lib/instances/action_instance.rb
factor-connector-api-0.0.7 ./lib/instances/action_instance.rb
factor-connector-api-0.0.6 ./lib/instances/action_instance.rb
factor-connector-api-0.0.5 ./lib/instances/action_instance.rb
factor-connector-api-0.0.4 ./lib/instances/action_instance.rb
factor-connector-api-0.0.3 ./lib/instances/action_instance.rb
factor-connector-api-0.0.2 ./lib/instances/action_instance.rb
factor-connector-api-0.0.1 ./lib/instances/action_instance.rb