eeepub 0.5.1 → 0.6.0

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.5.1
1
+ 0.6.0
data/lib/eeepub/maker.rb CHANGED
@@ -75,7 +75,13 @@ module EeePub
75
75
  def save(filename)
76
76
  Dir.mktmpdir do |dir|
77
77
  @files.each do |file|
78
- FileUtils.cp(file, dir)
78
+ case file
79
+ when String
80
+ FileUtils.cp(file, dir)
81
+ when Hash
82
+ FileUtils.mkdir_p(File.join(dir, file[:dir])) if file[:dir]
83
+ FileUtils.cp(file[:path], File.join(dir, (file[:dir] || '')))
84
+ end
79
85
  end
80
86
 
81
87
  NCX.new(
@@ -95,7 +101,14 @@ module EeePub
95
101
  :description => @descriptions,
96
102
  :rights => @rightss,
97
103
  :relation => @relations,
98
- :manifest => @files.map{|i| File.basename(i)},
104
+ :manifest => @files.map{|file|
105
+ case file
106
+ when String
107
+ File.basename(file)
108
+ when Hash
109
+ file[:dir] ? File.join(file[:dir], File.basename(file[:path])) : File.basename(file[:path])
110
+ end
111
+ },
99
112
  :ncx => @ncx_file
100
113
  ).save(File.join(dir, @opf_file))
101
114
 
@@ -72,4 +72,53 @@ describe "EeePub::Maker" do
72
72
 
73
73
  @maker.save('test.epub')
74
74
  end
75
+
76
+ describe "files as hash" do
77
+ before do
78
+ @maker = EeePub::Maker.new do
79
+ title 'sample'
80
+ creator 'jugyo'
81
+ publisher 'jugyo.org'
82
+ date "2010-05-06"
83
+ language 'en'
84
+ subject 'epub sample'
85
+ description 'this is epub sample'
86
+ rights 'xxx'
87
+ relation 'xxx'
88
+ identifier 'http://example.com/book/foo', :scheme => 'URL'
89
+ uid 'http://example.com/book/foo'
90
+ ncx_file 'toc.ncx'
91
+ opf_file 'content.opf'
92
+ files [{:dir => 'foo', :path => 'foo.html'}, {:dir => 'bar', :path => 'bar.html'}]
93
+ nav [
94
+ {:label => '1. foo', :content => 'foo.html'},
95
+ {:label => '1. bar', :content => 'bar.html'}
96
+ ]
97
+ end
98
+ end
99
+
100
+ it 'should save' do
101
+ stub(FileUtils).cp.with_any_args
102
+ stub(FileUtils).mkdir_p.with_any_args
103
+ mock(Dir).mktmpdir {|i| i.call('/tmp')}
104
+ mock(EeePub::NCX).new.with_any_args { stub!.save }
105
+ mock(EeePub::OPF).new(
106
+ :title => ["sample"],
107
+ :creator => ["jugyo"],
108
+ :date => ["2010-05-06"],
109
+ :language => ['en'],
110
+ :subject => ['epub sample'],
111
+ :description => ['this is epub sample'],
112
+ :rights => ['xxx'],
113
+ :relation => ['xxx'],
114
+ :ncx => "toc.ncx",
115
+ :publisher => ["jugyo.org"],
116
+ :identifier => [{:value => "http://example.com/book/foo", :scheme => "URL"}],
117
+ :manifest => ["foo/foo.html", "bar/bar.html"]
118
+ ) { stub!.save }
119
+ mock(EeePub::OCF).new.with_any_args { stub!.save }
120
+
121
+ @maker.save('test.epub')
122
+ end
123
+ end
75
124
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 5
8
- - 1
9
- version: 0.5.1
7
+ - 6
8
+ - 0
9
+ version: 0.6.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - jugyo
@@ -14,13 +14,14 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-16 00:00:00 +09:00
17
+ date: 2010-10-23 00:00:00 +09:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: builder
22
22
  prerelease: false
23
23
  requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
24
25
  requirements:
25
26
  - - ">="
26
27
  - !ruby/object:Gem::Version
@@ -33,6 +34,7 @@ dependencies:
33
34
  name: rspec
34
35
  prerelease: false
35
36
  requirement: &id002 !ruby/object:Gem::Requirement
37
+ none: false
36
38
  requirements:
37
39
  - - ">="
38
40
  - !ruby/object:Gem::Version
@@ -45,6 +47,7 @@ dependencies:
45
47
  name: rr
46
48
  prerelease: false
47
49
  requirement: &id003 !ruby/object:Gem::Requirement
50
+ none: false
48
51
  requirements:
49
52
  - - ">="
50
53
  - !ruby/object:Gem::Version
@@ -62,7 +65,6 @@ extensions: []
62
65
  extra_rdoc_files:
63
66
  - LICENSE
64
67
  - README.md
65
- - TODO
66
68
  files:
67
69
  - .gitignore
68
70
  - LICENSE
@@ -86,7 +88,6 @@ files:
86
88
  - spec/eeepub/opf_spec.rb
87
89
  - spec/eeepub_spec.rb
88
90
  - spec/spec_helper.rb
89
- - TODO
90
91
  has_rdoc: true
91
92
  homepage: http://github.com/jugyo/eeepub
92
93
  licenses: []
@@ -97,6 +98,7 @@ rdoc_options:
97
98
  require_paths:
98
99
  - lib
99
100
  required_ruby_version: !ruby/object:Gem::Requirement
101
+ none: false
100
102
  requirements:
101
103
  - - ">="
102
104
  - !ruby/object:Gem::Version
@@ -104,6 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
104
106
  - 0
105
107
  version: "0"
106
108
  required_rubygems_version: !ruby/object:Gem::Requirement
109
+ none: false
107
110
  requirements:
108
111
  - - ">="
109
112
  - !ruby/object:Gem::Version
@@ -113,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
116
  requirements: []
114
117
 
115
118
  rubyforge_project:
116
- rubygems_version: 1.3.6
119
+ rubygems_version: 1.3.7
117
120
  signing_key:
118
121
  specification_version: 3
119
122
  summary: ePub generator
data/TODO DELETED
@@ -1 +0,0 @@
1
- * {'URL' => 'http://example.com/book/foo'} のような指定方法をやめる