gepub 0.6.4.3 → 0.6.4.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.
data/lib/gepub/book.rb CHANGED
@@ -174,23 +174,6 @@ module GEPUB
174
174
  toc.push(:item => item, :text => text, :id => id)
175
175
  item
176
176
  })
177
- item.push_content_callback {
178
- |i|
179
- if File.extname(i.href) =~ /.x?html/
180
- parsed = Nokogiri::XML::Document.parse(i.content)
181
- ns_prefix = parsed.namespaces.invert['http://www.w3.org/1999/xhtml']
182
- if ns_prefix.nil?
183
- prefix = ''
184
- else
185
- prefix = "#{ns_prefix}:"
186
- end
187
- videos = parsed.xpath("//#{prefix}video[starts-with(@src,'http')]")
188
- audios = parsed.xpath("//#{prefix}audio[starts-with(@src,'http')]")
189
- if videos.size > 0 || audios.size > 0
190
- i.add_property('remote-resources')
191
- end
192
- end
193
- }
194
177
  item.add_content io_or_filename unless io_or_filename.nil?
195
178
  item
196
179
  end
@@ -257,16 +240,16 @@ module GEPUB
257
240
  epub.put_next_entry('mimetype', '', '', Zip::ZipEntry::STORED)
258
241
  epub << "application/epub+zip"
259
242
  epub.put_next_entry('META-INF/container.xml')
260
- epub << container_xml
243
+ epub << container_xml.force_encoding('us-ascii')
261
244
 
262
245
  epub.put_next_entry(@package.path)
263
- epub << opf_xml
246
+ epub << opf_xml.force_encoding('us-ascii')
264
247
 
265
248
  @package.manifest.item_list.each {
266
249
  |k, item|
267
250
  if item.content != nil
268
251
  epub.put_next_entry(@package.contents_prefix + item.href)
269
- epub << item.content
252
+ epub << item.content.force_encoding('us-ascii')
270
253
  end
271
254
  }
272
255
  end
data/lib/gepub/item.rb CHANGED
@@ -69,10 +69,20 @@ module GEPUB
69
69
  end
70
70
  io.binmode
71
71
  @content = io.read
72
- @content_callback.each {
73
- |p|
74
- p.call self
75
- }
72
+ if File.extname(self.href) =~ /.x?html/
73
+ parsed = Nokogiri::XML::Document.parse(@content)
74
+ ns_prefix = parsed.namespaces.invert['http://www.w3.org/1999/xhtml']
75
+ if ns_prefix.nil?
76
+ prefix = ''
77
+ else
78
+ prefix = "#{ns_prefix}:"
79
+ end
80
+ videos = parsed.xpath("//#{prefix}video[starts-with(@src,'http')]")
81
+ audios = parsed.xpath("//#{prefix}audio[starts-with(@src,'http')]")
82
+ if videos.size > 0 || audios.size > 0
83
+ self.add_property('remote-resources')
84
+ end
85
+ end
76
86
  self
77
87
  end
78
88
 
data/lib/gepub/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module GEPUB
2
- VERSION = "0.6.4.3"
2
+ VERSION = "0.6.4.4"
3
3
  end
data/lib/gepub.rb CHANGED
@@ -1,9 +1,15 @@
1
- if !({}.respond_to? 'key')
1
+ if RUBY_VERSION < '1.9'
2
+ # hash.key
2
3
  class Hash
3
4
  def key(x)
4
5
  index(x)
5
6
  end
6
7
  end
8
+ class String
9
+ def force_encodeing(x)
10
+ self
11
+ end
12
+ end
7
13
  end
8
14
 
9
15
  require 'gepub/version'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gepub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.4.3
4
+ version: 0.6.4.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-03-01 00:00:00.000000000 Z
12
+ date: 2012-03-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70156488640380 !ruby/object:Gem::Requirement
16
+ requirement: &70303996984220 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '2'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70156488640380
24
+ version_requirements: *70303996984220
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: nokogiri
27
- requirement: &70156487814240 !ruby/object:Gem::Requirement
27
+ requirement: &70303993293180 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 1.5.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70156487814240
35
+ version_requirements: *70303993293180
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rubyzip
38
- requirement: &70156487813160 !ruby/object:Gem::Requirement
38
+ requirement: &70303993291280 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: 0.9.6
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70156487813160
46
+ version_requirements: *70303993291280
47
47
  description: gepub is a generic EPUB parser/generator. Generates and parse EPUB2 and
48
48
  EPUB3
49
49
  email: