Class: Hover::Decoder::JSONStream

Inherits:
Object
  • Object
show all
Defined in:
lib/hover/decoder/json_stream.rb

Instance Method Summary collapse

Constructor Details

#initialize(s3_object, block = ->(object) {}) ⇒ JSONStream

Returns a new instance of JSONStream.



7
8
9
10
11
12
# File 'lib/hover/decoder/json_stream.rb', line 7

def initialize(s3_object, block = ->(object) {})
  @parser = Yajl::Parser.new
  @s3_object = s3_object

  @parser.on_parse_complete = block
end

Instance Method Details

#startObject



14
15
16
17
18
19
20
21
# File 'lib/hover/decoder/json_stream.rb', line 14

def start
  bucket_name = @s3_object.bucket.name
  key = @s3_object.key

  @s3_object.client.get_object(bucket: bucket_name, key: key) do |chunk|
    @parser << chunk
  end
end