Sha256: f09575df2fa6bd7bf59a600c762584661f2fc1ed599e6a65c7f66384f7fb058a

Contents?: true

Size: 1.17 KB

Versions: 5

Compression:

Stored size: 1.17 KB

Contents

# encoding: UTF-8

require 'addressable/uri'
require 'rubygems/package'
require 'open-uri'
require 'fileutils'

require_relative '../errors.rb'

module Factor
  module Connector
    class Instance
      attr_accessor :definition, :callback, :instance_id

      def initialize(options = {})
        @definition = options[:definition] if options[:definition]
      end

      def callback=(block)
        @callback = block if block
      end

      def respond(params)
        @callback.call(params) if @callback
      end

      def id
        @definition.id
      end

      def info(message)
        log 'info', message
      end

      def error(message)
        log 'error', message
      end

      def warn(message)
        log 'warn', message
      end

      def debug(message)
        log 'debug', message
      end

      def log(status, message)
        respond type: 'log', status: status, message: message
      end

      protected

      def exception(ex, parameters = {})
        debug "exception: #{ex.message}"
        debug 'backtrace:'
        ex.backtrace.each do |line|
          debug "  #{line}"
        end
        debug "parameters: #{parameters}"
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
factor-connector-api-0.0.10 ./lib/instances/instance.rb
factor-connector-api-0.0.9 ./lib/instances/instance.rb
factor-connector-api-0.0.8 ./lib/instances/instance.rb
factor-connector-api-0.0.7 ./lib/instances/instance.rb
factor-connector-api-0.0.6 ./lib/instances/instance.rb