From 07a9612e7a9cb4f2ef253748ef5801142240d296 Mon Sep 17 00:00:00 2001 From: Micah Gideon Modell Date: Wed, 9 Sep 2026 20:20:01 -0400 Subject: [PATCH] Updating to latest RubyZip --- .gitignore | 4 +++- lib/powerpoint/compression.rb | 2 +- mise.toml | 2 ++ powerpoint.gemspec | 8 ++++---- samples/pptx/sample.pptx | Bin 1500269 -> 1499001 bytes 5 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 mise.toml diff --git a/.gitignore b/.gitignore index 09b4c415..b6075efe 100644 --- a/.gitignore +++ b/.gitignore @@ -15,4 +15,6 @@ spec/reports test/tmp test/version_tmp tmp -.pryrc \ No newline at end of file +.pryrc +.DS_Store +*.swp diff --git a/lib/powerpoint/compression.rb b/lib/powerpoint/compression.rb index 2ddd977f..93f1b3cb 100644 --- a/lib/powerpoint/compression.rb +++ b/lib/powerpoint/compression.rb @@ -10,7 +10,7 @@ def self.decompress_pptx(in_path, out_path) end def self.compress_pptx(in_path, out_path) - Zip::File.open(out_path, Zip::File::CREATE) do |zip_file| + Zip::File.open(out_path, create: true) do |zip_file| Dir.glob("#{in_path}/**/*", ::File::FNM_DOTMATCH).each do |path| zip_path = path.gsub("#{in_path}/","") next if zip_path == "." || zip_path == ".." || zip_path.match(/DS_Store/) diff --git a/mise.toml b/mise.toml new file mode 100644 index 00000000..96bdb30e --- /dev/null +++ b/mise.toml @@ -0,0 +1,2 @@ +[tools] +ruby = "4" diff --git a/powerpoint.gemspec b/powerpoint.gemspec index 2277e79c..86d08aed 100644 --- a/powerpoint.gemspec +++ b/powerpoint.gemspec @@ -20,12 +20,12 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 1.9.2' - spec.add_development_dependency "bundler", "~> 1.3" + spec.add_development_dependency "bundler", "~> 4" spec.add_development_dependency "rake" - spec.add_development_dependency 'rspec', '~> 2.13.0' + spec.add_development_dependency 'rspec', '~> 3.13.2' spec.add_development_dependency 'pry' - spec.add_dependency 'rubyzip', '~> 1' - spec.add_dependency 'fastimage', '~> 1' + spec.add_dependency 'rubyzip', '~> 3' + spec.add_dependency 'fastimage', '~> 2' end diff --git a/samples/pptx/sample.pptx b/samples/pptx/sample.pptx index 1221afc4ec6600227620ee82b39695566f3e4b56..3da567329657f7a03caae3417f64d87da68c7c11 100644 GIT binary patch delta 4123 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