lib/artoo/connection.rb in artoo-1.6.7 vs lib/artoo/connection.rb in artoo-1.8.0

- old
+ new

@@ -7,11 +7,11 @@ class Connection include Celluloid include Artoo::Utility include Comparable - attr_reader :parent, :name, :port, :adaptor, :connection_id + attr_reader :parent, :name, :port, :adaptor, :connection_id, :details # Create new connection # @param [Hash] params # @option params :id [String] # @option params :name [String] @@ -21,10 +21,11 @@ def initialize(params={}) @connection_id = params[:id] || rand(10000).to_s @name = params[:name].to_s @port = Port.new(params[:port]) @parent = params[:parent] + @details = remove_keys(params, :name, :parent, :id, :loopback) require_adaptor(params[:adaptor] || :loopback, params) end # Creates adaptor connection @@ -56,14 +57,12 @@ # @return [Hash] connection def to_hash { :name => name, - :connection_id => connection_id, - :port => port.to_s, :adaptor => adaptor_name.to_s.gsub(/^.*::/, ''), - :connected => connected? + :details => @details } end # @return [JSON] connection def as_json @@ -88,14 +87,18 @@ Logger.error e.message Logger.error e.backtrace.inspect return nil end + def respond_to_missing?(method_name, include_private = false) + # TODO: verify that the adaptor supprts the method we're calling + true + end + private def require_adaptor(type, params) if Artoo::Robot.test? - original_type = type type = :test end require "artoo/adaptors/#{type.to_s}" @adaptor = constantize("Artoo::Adaptors::#{classify(type.to_s)}").new(:port => port, :parent => current_instance, :additional_params => params)