Skip to content

Problem with open_buffer #177

@sandrods

Description

@sandrods

I'm getting undefined method bytesize' for nil:NilClass`using open_buffer.

this code works:

data = string_with_zip_file
::File.open('my_file.zip', "wb") {|f| f.write(data) }
Zip::File.open('my_file.zip')

but if I try to use open_buffer

data = string_with_zip_file
Zip::File.open_buffer(data)

I get this error:

NoMethodError: NoMethodError: undefined method `bytesize' for nil:NilClass
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/entry.rb:224:in `read_local_entry'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/entry.rb:194:in `read_local_entry'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/output_stream.rb:114:in `block in copy_raw_entry'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/entry.rb:557:in `get_raw_input_stream'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/output_stream.rb:112:in `copy_raw_entry'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/entry.rb:545:in `write_to_zip_output_stream'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/file.rb:318:in `block (2 levels) in write_buffer'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/entry_set.rb:42:in `call'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/entry_set.rb:42:in `block in each'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/entry_set.rb:41:in `each'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/entry_set.rb:41:in `each'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/file.rb:318:in `block in write_buffer'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/output_stream.rb:60:in `write_buffer'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/file.rb:317:in `write_buffer'
  .rbenv/versions/1.9.3-p327/.../rubyzip-1.1.6/lib/zip/file.rb:128:in `open_buffer'

Am I doing something wrong?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions