gepub 0.6.4.3 → 0.6.4.4

Sign up to get free protection for your applications and to get access to all the features.
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: