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)