class Iqfeed::Level1Client
Public Class Methods
new(options = {})
click to toggle source
# File lib/iqfeed/level1_client.rb, line 64 def initialize(options = {}) parse_options(options) end
Public Instance Methods
add(observer)
click to toggle source
# File lib/iqfeed/level1_client.rb, line 80 def add(observer) @socket.puts "w" + observer.symbol add_observer(observer) end
open()
click to toggle source
# File lib/iqfeed/level1_client.rb, line 74 def open @socket = TCPSocket.open @host, @port @socket.puts "S,CONNECT" @socket.puts "S,SET CLIENT NAME," + @name end
parse_options(options)
click to toggle source
# File lib/iqfeed/level1_client.rb, line 68 def parse_options(options) @host = options[:host] || 'localhost' @port = options[:port] || 5009 @name = options[:name] || 'DEMO' end
remove(symbol)
click to toggle source
# File lib/iqfeed/level1_client.rb, line 85 def remove(symbol) @socket.puts "r" + symbol; end
run()
click to toggle source
# File lib/iqfeed/level1_client.rb, line 89 def run exception = nil while line = @socket.gets if line =~ /^E,/ exception = 'No Data' elsif line =~ /!ENDMSG!,/ break end tick = Level1Tick.parse(line) next if tick.nil? changed notify_observers(tick) end if exception raise exception end end