epubber 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6c05eed9cea9c801d6e1ecde1f453205e07da127
4
- data.tar.gz: cca194a25364bead902d2abc8d3b5a5943123336
3
+ metadata.gz: 054611e5caa73165a0033e77320b5f3382226fec
4
+ data.tar.gz: f5daa10b8e040f4904c28c6eae772b7c59c90957
5
5
  SHA512:
6
- metadata.gz: 8e99e27077aa693da3ab752c76d1e4c807dc9cb4314a7909d7ce837b7c6218646167a1ba5f026fc46df0101f932d08fb29beacda0e68e7ecf29b3301cd2a5f5e
7
- data.tar.gz: cac7b9361846ba911c665b758fc8ac32a51d6c397674438d759a6f8c2e5a536652b9ef6d1f10088b64840e3d04bf298fde4841c7b9b2cf630da2e6591ddff392
6
+ metadata.gz: a0561c9a2afdbaf26ff71b83875361f7908b5a7a9398d75f97dff0dcda3de3d6753d52fb575bea3ae891d54dd4c23db30a5fac374df8dd87cd0ef2c1ca98c7cc
7
+ data.tar.gz: ba7fadf75790e51e1756ba2abd74b40a8b54caae84b82b976807f69ab0bd76dcdc72c633912069da361bfebcac2b58443fbef6495e04f9e444ce16142d9e1708
data/README.md CHANGED
@@ -20,20 +20,24 @@ Or install it yourself as:
20
20
  Epubber's DSL is rather simple:
21
21
 
22
22
  ```ruby
23
- path = Epubber.generate do
24
- title 'My First EPUB book'
25
- author 'Ramirez, Federico'
26
- description 'This is an example EPUB'
27
- url 'http://my-url.com'
28
-
29
- chapter do
30
- title 'Chapter 1'
31
- content '<p>This is some content!</p>'
23
+ path = Epubber.generate do |b|
24
+ b.title 'My First EPUB book'
25
+ b.author 'Ramirez, Federico'
26
+ b.description 'This is an example EPUB'
27
+ b.url 'http://my-url.com'
28
+
29
+ b.introduction do |i|
30
+ i.content '<p>This is an introduction.</p>'
32
31
  end
33
32
 
34
- chapter do
35
- title 'Chapter 2'
36
- content '<p>Some more content this is.</p>'
33
+ b.chapter do |c|
34
+ c.title 'Chapter 1'
35
+ c.content '<p>This is some content!</p>'
36
+ end
37
+
38
+ b.chapter do |c|
39
+ c.title 'Chapter 2'
40
+ c.content '<p>Some more content this is.</p>'
37
41
  end
38
42
  end
39
43
 
@@ -44,7 +48,7 @@ end
44
48
  You can configure the generator
45
49
 
46
50
  ```ruby
47
- path = Epubber.generate filename: 'some-file.epub', workspace: '/tmp' do
51
+ path = Epubber.generate filename: 'some-file.epub', workspace: '/tmp' do |b|
48
52
  # Ebook code here...
49
53
  end
50
54
  ```
data/epubber.gemspec CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 1.7"
22
22
  spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "minitest"
23
24
 
24
25
  spec.add_runtime_dependency "liquid", "~> 3.0"
25
26
  spec.add_runtime_dependency "rubyzip", ">= 1.0.0"
@@ -7,9 +7,10 @@ module Epubber::Models::Concerns
7
7
  end
8
8
 
9
9
  # Add chapter
10
- def chapter(&block)
10
+ def chapter
11
+ raise 'No block given' unless block_given?
11
12
  chapter = Epubber::Models::Chapter.new
12
- chapter.instance_eval &block
13
+ yield chapter
13
14
  chapter.id(chapters.count + 1)
14
15
  chapters << chapter
15
16
  end
@@ -2,11 +2,11 @@ require 'epubber/models/endnotes'
2
2
 
3
3
  module Epubber::Models::Concerns
4
4
  module HasEndnotes
5
- def endnotes(&block)
5
+ def endnotes
6
6
  @endnotes ||= nil
7
7
  return @endnotes unless block_given?
8
8
  @endnotes = Epubber::Models::Endnotes.new
9
- @endnotes.instance_eval &block
9
+ yield @endnotes
10
10
  end
11
11
 
12
12
  def contextified_endnotes
@@ -6,7 +6,7 @@ module Epubber::Models::Concerns
6
6
  @introduction ||= nil
7
7
  return @introduction unless block_given?
8
8
  @introduction = Epubber::Models::Introduction.new
9
- @introduction.instance_eval &block
9
+ yield @introduction
10
10
  end
11
11
 
12
12
  def contextified_introduction
@@ -7,7 +7,7 @@ module Epubber::Services
7
7
 
8
8
  # Persist a file into the working directory with the spcified contents.
9
9
  # The file argument is the relative path to the new file, eg: test/chapters/file.xhtml
10
- def persist(file: file, content: content)
10
+ def persist(file:, content:)
11
11
  create_path_for file
12
12
  write file, content
13
13
  end
@@ -1,3 +1,3 @@
1
1
  module Epubber
2
- VERSION = "0.0.4"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/epubber.rb CHANGED
@@ -3,9 +3,9 @@ require "epubber/models/book"
3
3
  require "epubber/generator"
4
4
 
5
5
  module Epubber
6
- def self.generate(filename: filename = nil, working_dir: working_dir = nil, &block)
6
+ def self.generate(filename: filename = nil, working_dir: working_dir = nil)
7
7
  book = Epubber::Models::Book.new
8
- book.instance_eval &block
8
+ yield book
9
9
  generator = Epubber::Generator.new book: book, working_dir: working_dir, filename: filename
10
10
  generator.generate
11
11
  end
data/test/test_epubber.rb CHANGED
@@ -3,26 +3,26 @@ require 'epubber'
3
3
 
4
4
  class EpubberTest < Minitest::Test
5
5
  def test_dsl
6
- result = Epubber.generate do
7
- title 'My First EPUB book'
8
- author 'Ramirez, Federico'
6
+ result = Epubber.generate do |b|
7
+ b.title 'My First EPUB book'
8
+ b.author 'Ramirez, Federico'
9
9
 
10
- introduction do
11
- content "<p>This is the introduction, and it's optional. What is this book about?</p>"
10
+ b.introduction do |i|
11
+ i.content "<p>This is the introduction, and it's optional. What is this book about?</p>"
12
12
  end
13
13
 
14
- chapter do
15
- title 'Chapter 1'
16
- content '<p>This is some content!</p>'
14
+ b.chapter do |c|
15
+ c.title 'Chapter 1'
16
+ c.content '<p>This is some content!</p>'
17
17
  end
18
18
 
19
- chapter do
20
- title 'Chapter 2'
21
- content '<p>Some more content this is.</p>'
19
+ b.chapter do |c|
20
+ c.title 'Chapter 2'
21
+ c.content '<p>Some more content this is.</p>'
22
22
  end
23
23
 
24
- endnotes do
25
- content '<p>This was a fun book. Thanks for reading!</p>'
24
+ b.endnotes do |e|
25
+ e.content '<p>This was a fun book. Thanks for reading!</p>'
26
26
  end
27
27
  end
28
28
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epubber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Federico Ramirez
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: liquid
43
57
  requirement: !ruby/object:Gem::Requirement