Class: RDKit::RESPParser
Instance Method Summary collapse
- #feed(data) ⇒ Object
- #gets ⇒ Object
-
#initialize ⇒ RESPParser
constructor
A new instance of RESPParser.
Constructor Details
#initialize ⇒ RESPParser
Returns a new instance of RESPParser.
7 8 9 10 11 12 |
# File 'lib/rdkit/resp_parser.rb', line 7 def initialize @reader = Hiredis::Reader.new @buffer = [] @regexp = Regexp.new("\\A(.+)\\r\\n\\z") @inline_mode = true end |
Instance Method Details
#feed(data) ⇒ Object
14 15 16 17 18 19 20 21 22 |
# File 'lib/rdkit/resp_parser.rb', line 14 def feed(data) if @inline_mode && (data =~ @regexp) @buffer << $1.split else @inline_mode = false @reader.feed(data) end end |
#gets ⇒ Object
24 25 26 27 28 29 30 31 |
# File 'lib/rdkit/resp_parser.rb', line 24 def gets if @inline_mode && (result = @buffer.shift) result else @reader.gets end end |