Parent

Methods

Yajl::Deflate::StreamReader

This is a wrapper around Zlib::Inflate, creating a # method that adheres to the IO spec, allowing for two parameters (length, and buffer)

Public Class Methods

new(io, options) click to toggle source

Wrapper to the initialize method so we can set the initial IO to parse from.

    # File lib/yajl/deflate/stream_reader.rb, line 9
 9:       def initialize(io, options)
10:         @io = io
11:         super(options)
12:       end
parse(input, options={}, buffer_size=nil, &block) click to toggle source

Helper method for one-off parsing from a deflate-compressed stream

See Yajl::Parser#parse for parameter documentation

    # File lib/yajl/deflate/stream_reader.rb, line 30
30:       def self.parse(input, options={}, buffer_size=nil, &block)
31:         if input.is_a?(String)
32:           input = StringIO.new(input)
33:         end
34: 
35:         if options.is_a?(Hash)
36:           deflate_options = options.delete(:deflate_options)
37:           Yajl::Parser.new(options).parse(new(input, deflate_options), buffer_size, &block)
38:         elsif options.is_a?(Fixnum)
39:           Yajl::Parser.new.parse(new(input, options), buffer_size, &block)
40:         end
41:       end

Public Instance Methods

read(len=nil, buffer=nil) click to toggle source

A helper method to allow use similar to IO#read

    # File lib/yajl/deflate/stream_reader.rb, line 15
15:       def read(len=nil, buffer=nil)
16:         if val = @io.read(len)
17:           unless buffer.nil?
18:             buffer.replace(inflate(val))
19:             return buffer
20:           end
21:           inflate(@io.read(len))
22:         else
23:           nil
24:         end
25:       end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.