epub-maker 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dd6232bd8fa2ea8e754a0534ca66f16ad25455d79f7e63992985b936b59dbc72
4
- data.tar.gz: e197aa4e159a3ac26d7f967051645f8a8f266ec4a580d1f594e17deee1ff4b4d
3
+ metadata.gz: 676e99ddae356b3bd340b3bada88f7fbcfb5c11538329f3e61f3abd22b3ea364
4
+ data.tar.gz: 6372359df23562b459374282c905820a4ad60588b4ee8b9414a34336c8bde7c4
5
5
  SHA512:
6
- metadata.gz: 0ef1a6424b3110622cbcbad4334087a099f63ccf184d4258ab5e64f6eac89b37e1ffe1bc06ac0ce016921aa0ccb70d919de0483215b1d9520b86e45da64382c5
7
- data.tar.gz: d2dd680804cfae33c62c6780e6609c3159f52c97196e31d4a166c3ee5712db1e52d5dce608bbc0da1b4793d9fc27467fdb9b573632313fc59580c970dfd83717
6
+ metadata.gz: c4a96d23b7eeabbd4c9d6d8ed01bdbef83da78343ecff34ff9e4131fe8a6a8c017302beed00d69826f8149ccc9f91aa267784220f2f9760eb4d7d9fdb2c35833
7
+ data.tar.gz: 868e36a9b4403854b91076aa055cae054e2f949ae508bd38efd36619c2286507d1e71524e33bd523254aaef5cae3936e59559019067f590d656bef313e5a961e
data/.gitignore CHANGED
@@ -16,4 +16,4 @@ test/tmp
16
16
  test/version_tmp
17
17
  tmp
18
18
  deps
19
- *~
19
+ test/fixtures/accessible_epub_3.epub
data/CHANGELOG.markdown CHANGED
@@ -1,3 +1,8 @@
1
+ 0.2.4
2
+ -----
3
+
4
+ * Add adapter for RuZip
5
+
1
6
  0.2.3
2
7
  -----
3
8
 
data/README.markdown CHANGED
@@ -177,25 +177,18 @@ Todo
177
177
 
178
178
  Recent Changes
179
179
  --------------
180
- ### 0.2.0
181
180
 
182
- * Update dependent Archive::Zip version to 0.13.0
181
+ ### 0.2.4 ###
183
182
 
184
- ### 0.1.9
183
+ * Add adapter for RuZip
185
184
 
186
- * Fix output of package@prefix
185
+ ### 0.2.3 ###
187
186
 
188
- ### 0.1.8
187
+ * [BUG FIX]Fix links in nav
189
188
 
190
- * Add adapter for Rubyzip
189
+ ### 0.2.2 ###
191
190
 
192
- ### 0.1.7
193
-
194
- * Remove version specification from Nokogiri to migrate to Ruby 3.1
195
-
196
- ### 0.1.6
197
-
198
- * [BUG FIX]Add `mtime` keyword argument to `OCF::PhysicalContainer::Zipruby#write`
191
+ * Add `Publication::Package::Manifest#make_nav` method
199
192
 
200
193
  Contributing
201
194
  ------------
data/epub-maker.gemspec CHANGED
@@ -30,6 +30,7 @@ Gem::Specification.new do |gem|
30
30
 
31
31
  gem.add_development_dependency 'zipruby'
32
32
  gem.add_development_dependency 'rubyzip'
33
+ gem.add_development_dependency 'ruzip', '>= 0.3.0' unless ENV["CI"]
33
34
  gem.add_development_dependency 'test-unit'
34
35
  gem.add_development_dependency 'test-unit-notify'
35
36
  gem.add_development_dependency 'epubcheck-ruby'
@@ -0,0 +1,36 @@
1
+ require "epub/ocf/physical_container/ruzip"
2
+
3
+ module EPUB
4
+ class OCF
5
+ class PhysicalContainer
6
+ class RuZip < self
7
+ def write(path_name, content, mtime: nil)
8
+ ::Dir.mktmpdir do |dir|
9
+ tmp_archive_file = ::File.join(dir, ::File.basename(@container_path) + '.tmp')
10
+ archive = ::RuZip::Archive.new(@container_path)
11
+ writer = ::RuZip::Writer.new(tmp_archive_file)
12
+
13
+ encoding = path_name.encoding
14
+ updated = false
15
+ archive.length.times do |i|
16
+ entry = archive.by_index(i)
17
+ name = entry.name.encode(encoding)
18
+ if name == path_name
19
+ writer.append_file path_name, content, last_modified_time: mtime
20
+ updated = true
21
+ else
22
+ writer.raw_copy_file entry
23
+ end
24
+ end
25
+ unless updated
26
+ writer.append_file path_name, content, last_modified_time: mtime
27
+ end
28
+ writer.finish
29
+
30
+ ::File.rename tmp_archive_file, @container_path
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -3,7 +3,8 @@ require 'epub/ocf/physical_container'
3
3
  [
4
4
  [:ArchiveZip, 'archive_zip'],
5
5
  [:Zipruby, 'zipruby'],
6
- [:Rubyzip, 'rubyzip']
6
+ [:Rubyzip, 'rubyzip'],
7
+ [:RuZip, 'ruzip']
7
8
  ].each do |(class_name, feature_name)|
8
9
  if EPUB::OCF::PhysicalContainer.const_defined? class_name
9
10
  require "epub/maker/ocf/physical_container/#{feature_name}"
@@ -1,5 +1,5 @@
1
1
  module EPUB
2
2
  module Maker
3
- VERSION = "0.2.3"
3
+ VERSION = "0.2.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epub-maker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - KITAITI Makoto
@@ -135,6 +135,20 @@ dependencies:
135
135
  - - ">="
136
136
  - !ruby/object:Gem::Version
137
137
  version: '0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: ruzip
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: 0.3.0
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: 0.3.0
138
152
  - !ruby/object:Gem::Dependency
139
153
  name: test-unit
140
154
  requirement: !ruby/object:Gem::Requirement
@@ -285,6 +299,7 @@ files:
285
299
  - lib/epub/maker/ocf/physical_container.rb
286
300
  - lib/epub/maker/ocf/physical_container/archive_zip.rb
287
301
  - lib/epub/maker/ocf/physical_container/rubyzip.rb
302
+ - lib/epub/maker/ocf/physical_container/ruzip.rb
288
303
  - lib/epub/maker/ocf/physical_container/zipruby.rb
289
304
  - lib/epub/maker/publication.rb
290
305
  - lib/epub/maker/task.rb
@@ -324,7 +339,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
324
339
  - !ruby/object:Gem::Version
325
340
  version: '0'
326
341
  requirements: []
327
- rubygems_version: 4.0.3
342
+ rubygems_version: 4.0.20
328
343
  specification_version: 4
329
344
  summary: EPUB Maker
330
345
  test_files: