module Digital::Transport::Adapters
@example
require ‘digital/transport’
include Digital::Transport::Adapters
@see Proc#new connected = -> x {
x.write("Hello, World!") #=> either monad x.read 2 #=> either monad
}
@see Proc#new failed = -> x {
# perform exceptional situation handling # x will be yielded in to function as an Exception covariant interface. puts "Wasn't able to connect due to: #{x.message}. Handling failure."
}
@see Tcp#connect
maybe = new_tcp_adapter
(‘10.0.0.250’, 6789).connect
@see Either#either maybe.either(failed, connected)
Public Instance Methods
new_serial_adapter(port, opts = {})
click to toggle source
# File lib/digital/transport/adapters.rb, line 41 def new_serial_adapter(port, opts = {}) Serial.new(port, opts.dup.freeze) end
new_tcp_adapter(ip, port, opts = {})
click to toggle source
# File lib/digital/transport/adapters.rb, line 37 def new_tcp_adapter(ip, port, opts = {}) Tcp.new(ip.dup.freeze, port, opts.dup.freeze) end
new_usb_adapter(_port, _opts = {})
click to toggle source
# File lib/digital/transport/adapters.rb, line 45 def new_usb_adapter(_port, _opts = {}) raise NotImplementedError end