diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6bb6099..c85249d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -7,7 +7,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - ruby-version: [ "3.0", "3.1", "3.2", "3.3" ] + ruby-version: [ "3.3", "3.4", "4.0" ] steps: - name: Checkout diff --git a/lib/openxml-package/version.rb b/lib/openxml-package/version.rb index ccb0440..154f9fb 100644 --- a/lib/openxml-package/version.rb +++ b/lib/openxml-package/version.rb @@ -1,3 +1,3 @@ module OpenXmlPackage - VERSION = "0.3.5" + VERSION = "0.3.6" end diff --git a/lib/openxml/package.rb b/lib/openxml/package.rb index fa4a049..7171e91 100644 --- a/lib/openxml/package.rb +++ b/lib/openxml/package.rb @@ -32,17 +32,7 @@ def open(path) def from_stream(stream) stream = StringIO.new(stream) if stream.is_a?(String) - - # Hack: Zip::Entry.read_c_dir_entry initializes - # a new Zip::Entry by calling `io.path`. Zip::Entry - # uses this to open the original zipfile; but in - # this case, the StringIO _is_ the original. - def stream.path - self - end - - zipfile = ::Zip::File.new("", true, true) - zipfile.read_from_stream(stream) + zipfile = ::Zip::File.new(stream, create: true, buffer: true) new(zipfile) end end diff --git a/openxml-package.gemspec b/openxml-package.gemspec index bf3bfc1..73072da 100644 --- a/openxml-package.gemspec +++ b/openxml-package.gemspec @@ -19,13 +19,16 @@ Gem::Specification.new do |spec| spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) } spec.require_paths = ["lib"] - spec.add_dependency "rubyzip", "~> 2.3" + spec.add_dependency "rubyzip", "~> 3.4" spec.add_dependency "nokogiri" spec.add_dependency "ox" + spec.add_dependency "bigdecimal" + spec.add_dependency "mutex_m" spec.add_development_dependency "bundler" spec.add_development_dependency "rake" spec.add_development_dependency "minitest" + spec.add_development_dependency "minitest-mock" spec.add_development_dependency "minitest-reporters" spec.add_development_dependency "minitest-reporters-turn_reporter" spec.add_development_dependency "pry" diff --git a/test/test_helper.rb b/test/test_helper.rb index 5958bce..96ffdca 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -7,6 +7,7 @@ end require "rr" +require "minitest/mock" require "minitest/reporters/turn_reporter" Minitest::Reporters.use! Minitest::Reporters::TurnReporter.new