ruby-epub 0.2.4 → 0.2.5

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.
Files changed (2) hide show
  1. data/lib/ruby-epub.rb +16 -5
  2. metadata +17 -7
@@ -3,6 +3,8 @@ require 'nokogiri'
3
3
 
4
4
  class Epub
5
5
 
6
+ BANNED_META = ['office', 'amanuensis']
7
+
6
8
  def initialize(filename)
7
9
  @zip = Zip::ZipFile.open(filename)
8
10
  opf = get_opf(@zip)
@@ -12,7 +14,7 @@ class Epub
12
14
  def my_metadata(name)
13
15
  # getter
14
16
  define_singleton_method("#{name}=") do |val|
15
- instance_variable_set("@#{name}", val)
17
+ instance_variable_set("@#{name}", val)
16
18
  end
17
19
  # setter
18
20
  define_singleton_method("#{name}") do
@@ -30,16 +32,25 @@ class Epub
30
32
  @base_path = tab_path[0] + '/'
31
33
  end
32
34
  opf_file = zipfile.get_input_stream(opf_path)
33
- @opf = Nokogiri::XML opf_file
34
- @opf.remove_namespaces!
35
+ @opf = Nokogiri::XML opf_file
36
+ @opf.remove_namespaces!
37
+ end
38
+
39
+ def banned?(meta)
40
+ BANNED_META.each do |ban|
41
+ if meta[0, ban.size] == ban
42
+ return true
43
+ end
44
+ end
45
+ return false
35
46
  end
36
47
 
37
48
  def get_metadata()
38
49
  @opf.at_xpath("//metadata").children.each do |elem|
39
50
  #puts elem.inspect
40
51
  if elem.name != 'text'
41
- if elem.name == "meta"
42
- name_elem = elem['name'].tr(' ', '_').tr(':', '_')
52
+ if elem.name == "meta" && !banned?(elem['name'])
53
+ name_elem = elem['name'].tr(' ', '_').tr(':', '_').tr('.', '_')
43
54
  content_elem = elem['content']
44
55
  else
45
56
  name_elem = elem.name
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-epub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.5
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-04-11 00:00:00.000000000Z
12
+ date: 2012-08-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rubyzip2
16
- requirement: &85083840 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *85083840
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: nokogiri
27
- requirement: &85083530 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,7 +37,12 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *85083530
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  description: Extract epub metada
37
47
  email: banux@helheim.net
38
48
  executables: []
@@ -61,7 +71,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
61
71
  version: '0'
62
72
  requirements: []
63
73
  rubyforge_project:
64
- rubygems_version: 1.8.17
74
+ rubygems_version: 1.8.23
65
75
  signing_key:
66
76
  specification_version: 3
67
77
  summary: Extract epub metada