lib/artoo/connection.rb in artoo-0.3.0 vs lib/artoo/connection.rb in artoo-0.4.0

- old
+ new

@@ -5,14 +5,16 @@ # a specific group of hardware devices. Examples would be an # Arduino, a Sphero, or an ARDrone. class Connection include Celluloid include Artoo::Utility + include Comparable - attr_reader :parent, :name, :port, :adaptor + attr_reader :parent, :name, :port, :adaptor, :connection_id def initialize(params={}) + @connection_id = rand(10000) @name = params[:name].to_s @port = Port.new(params[:port]) @parent = params[:parent] require_adaptor(params[:adaptor] || :loopback) @@ -33,27 +35,28 @@ def connected? adaptor.connected? end + def adaptor_name + adaptor.class.name + end + def to_hash {:name => name, + :connection_id => connection_id, :port => port.to_s, - :adaptor => adaptor.class.name.demodulize, + :adaptor => adaptor_name.demodulize, :connected => connected? } end def as_json MultiJson.dump(to_hash) end - def to_s - "#{self.class}:0x#{self.object_id}" - end - def inspect - "#<#{to_s}>" + "#<Connection @id=#{object_id}, @name='#{name}', @adaptor=#{adaptor_name}>" end def method_missing(method_name, *arguments, &block) unless adaptor.connected? Logger.warn "Cannot call unconnected adaptor '#{name}', attempting to reconnect..." \ No newline at end of file