epub-parser 0.1.3 → 0.1.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.
- checksums.yaml +4 -4
- data/.yardopts +5 -2
- data/CHANGELOG.markdown +33 -0
- data/Gemfile +0 -2
- data/README.markdown +15 -6
- data/Rakefile +7 -2
- data/docs/FixedLayout.markdown +98 -0
- data/{wiki/Home.md → docs/Home.markdown} +5 -7
- data/{wiki/Item.md → docs/Item.markdown} +10 -10
- data/epub-parser.gemspec +2 -3
- data/lib/epub.rb +6 -0
- data/lib/epub/content_document/navigation.rb +4 -0
- data/lib/epub/content_document/xhtml.rb +5 -0
- data/lib/epub/parser/content_document.rb +0 -7
- data/lib/epub/parser/ocf.rb +4 -4
- data/lib/epub/parser/publication.rb +4 -0
- data/lib/epub/parser/version.rb +1 -1
- data/lib/epub/publication/fixed_layout.rb +209 -0
- data/lib/epub/publication/package.rb +4 -0
- data/lib/epub/publication/package/manifest.rb +9 -1
- data/lib/epub/publication/package/spine.rb +36 -0
- data/test/test_content_document.rb +32 -0
- data/test/test_fixed_layout.rb +258 -0
- data/test/test_parser_fixed_layout.rb +16 -0
- data/test/test_publication.rb +95 -4
- metadata +15 -21
- data/test/fixtures/book/OPS/CASE-SENSITIVE.xhtml +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0863e952eebf7e5a0c502a70ef0d4eb53dc6f53a
|
4
|
+
data.tar.gz: 3f30d0aa575bc3b2ac740ec50ef54cee1452546c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 55884a448641a94a3f100e09d3aed2ab554b299903af5008c6aa708932310c7164891667e426fd5093a152fa74e16cc44e9c92360db0c129ecd0c3e6933f9505
|
7
|
+
data.tar.gz: a09a814b990ccced895fe9e462fe44dad2ad244cbeda02a82afe69d4e5988b3bd98b5698a76e6c69cf87b3d64ebf66c63f21b24cd8485137c49da6cb0ad50707
|
data/.yardopts
CHANGED
data/CHANGELOG.markdown
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
CHANGELOG
|
2
|
+
=========
|
3
|
+
0.1.4
|
4
|
+
-----
|
5
|
+
* [Fixed-Layout Documents][fixed-layout] support
|
6
|
+
* Define `ContentDocument::XHTML#top_level?`
|
7
|
+
* Define `Spine::Itemref#page_spread` and `#page_spread=`
|
8
|
+
* Define some utility methods around `Manifest::Item` and `Spine::Itemref`
|
9
|
+
* `Manifest::Item#itemref`
|
10
|
+
* `Spine::Itemref#item=`
|
11
|
+
|
12
|
+
[fixed-layout]: http://www.idpf.org/epub/fxl/
|
13
|
+
|
14
|
+
0.1.3
|
15
|
+
-----
|
16
|
+
* Add `EPUB::Parser::Utils` module
|
17
|
+
* Add a command-line tool `epub-open`
|
18
|
+
* Add support for XHTML Navigation Document
|
19
|
+
* Make `EPUB::Publication::Package::Metadata#to_hash` obsolete. Use `#to_h` instead
|
20
|
+
* Add utility methods `EPUB#description`, `EPUB#date` and `EPUB#unique_identifier`
|
21
|
+
|
22
|
+
0.1.2
|
23
|
+
-----
|
24
|
+
* Fix a bug that `Item#read` couldn't read file when `href` is percent-encoded(Thanks, [gambhiro][]!)
|
25
|
+
|
26
|
+
[gambhiro]: https://github.com/gambhiro
|
27
|
+
|
28
|
+
0.1.1
|
29
|
+
-----
|
30
|
+
* Parse package@prefix and attach it as `Package#prefix`
|
31
|
+
* `Manifest::Item#iri` was removed. It have existed for files in unzipped epub books but now EPUB Parser retrieves files from zip archive directly. `#href` now returns `Addressable::URI` object.
|
32
|
+
* `Metadata::Link#iri`: ditto.
|
33
|
+
* `Guide::Reference#iri`: ditto.
|
data/Gemfile
CHANGED
data/README.markdown
CHANGED
@@ -4,6 +4,7 @@ EPUB Parser
|
|
4
4
|
|
5
5
|
INSTALLATION
|
6
6
|
-------
|
7
|
+
|
7
8
|
gem install epub-parser
|
8
9
|
|
9
10
|
USAGE
|
@@ -18,9 +19,8 @@ USAGE
|
|
18
19
|
# do somethong...
|
19
20
|
end
|
20
21
|
|
21
|
-
See
|
22
|
+
See files in docs directory or [API Documentation][rubydoc] for more info.
|
22
23
|
|
23
|
-
[wiki]: https://github.com/KitaitiMakoto/epub-parser/wiki
|
24
24
|
[rubydoc]: http://rubydoc.info/gems/epub-parser/frames
|
25
25
|
|
26
26
|
### `epubinfo` command-line tool
|
@@ -75,10 +75,17 @@ REQUIREMENTS
|
|
75
75
|
* libxml2 and libxslt for Nokogiri gem
|
76
76
|
* C compiler to compile Zip/Ruby and Nokogiri
|
77
77
|
|
78
|
-
|
79
|
-
|
78
|
+
RECENT CHANGES
|
79
|
+
--------------
|
80
|
+
### 0.1.4
|
81
|
+
* [Fixed-Layout Documents][fixed-layout] support
|
82
|
+
* Define `ContentDocument::XHTML#top_level?`
|
83
|
+
* Define `Spine::Itemref#page_spread` and `#page_spread=`
|
84
|
+
* Define some utility methods around `Manifest::Item` and `Spine::Itemref`
|
85
|
+
|
86
|
+
[fixed-layout]: http://www.idpf.org/epub/fxl/
|
87
|
+
|
80
88
|
### 0.1.3
|
81
|
-
* Add `EPUB::Parser::Utils` module
|
82
89
|
* Add a command-line tool `epub-open`
|
83
90
|
* Add support for XHTML Navigation Document
|
84
91
|
* Make `EPUB::Publication::Package::Metadata#to_hash` obsolete. Use `#to_h` instead
|
@@ -91,10 +98,12 @@ CHANGELOG
|
|
91
98
|
|
92
99
|
### 0.1.1
|
93
100
|
* Parse package@prefix and attach it as `Package#prefix`
|
94
|
-
* `Manifest::Item#iri` was removed.
|
101
|
+
* `Manifest::Item#iri` was removed. `#href` now returns `Addressable::URI` object.
|
95
102
|
* `Metadata::Link#iri`: ditto.
|
96
103
|
* `Guide::Reference#iri`: ditto.
|
97
104
|
|
105
|
+
See CHANGELOG.markdown for details.
|
106
|
+
|
98
107
|
TODOS
|
99
108
|
-----
|
100
109
|
* Simple inspect for `epub-open` tool
|
data/Rakefile
CHANGED
@@ -6,6 +6,7 @@ require 'rdoc/task'
|
|
6
6
|
require 'cucumber'
|
7
7
|
require 'cucumber/rake/task'
|
8
8
|
require 'epub/parser/version'
|
9
|
+
require 'zipruby'
|
9
10
|
|
10
11
|
task :default => :test
|
11
12
|
task :test => 'test:default'
|
@@ -20,6 +21,10 @@ namespace :test do
|
|
20
21
|
task :build => :clean do
|
21
22
|
input_dir = 'test/fixtures/book'
|
22
23
|
sh "epzip #{input_dir}"
|
24
|
+
small_file = File.read("#{input_dir}/OPS/case-sensitive.xhtml")
|
25
|
+
Zip::Archive.open "#{input_dir}.epub" do |archive|
|
26
|
+
archive.add_buffer 'OPS/CASE-SENSITIVE.xhtml', small_file.sub('small file name', 'LARGE FILE NAME')
|
27
|
+
end
|
23
28
|
end
|
24
29
|
|
25
30
|
Rake::TestTask.new do |task|
|
@@ -41,7 +46,7 @@ namespace :doc do
|
|
41
46
|
rdoc.rdoc_files = FileList['lib/**/*.rb']
|
42
47
|
rdoc.rdoc_files.include 'README.markdown'
|
43
48
|
rdoc.rdoc_files.include 'MIT-LICENSE'
|
44
|
-
rdoc.rdoc_files.include '
|
49
|
+
rdoc.rdoc_files.include 'docs/**/*.md'
|
45
50
|
end
|
46
51
|
end
|
47
52
|
|
@@ -57,7 +62,7 @@ namespace :gem do
|
|
57
62
|
end
|
58
63
|
|
59
64
|
desc "Create tag v#{EPUB::Parser::VERSION} and build and push epub-parser-#{EPUB::Parser::VERSION}.gem to Rubygems"
|
60
|
-
task :release do
|
65
|
+
task :release => :test do
|
61
66
|
Bundler::GemHelper.new.release_gem
|
62
67
|
end
|
63
68
|
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
{file:docs/Home.markdown} > **{file:docs/FixedLayout.markdow}**
|
2
|
+
|
3
|
+
Fixed-Layout Documents
|
4
|
+
======================
|
5
|
+
|
6
|
+
Since v0.1.4, EPUB Parser supports Fixed-Layout Documents by {EPUB::Publication::FixedLayout} module.
|
7
|
+
It is set "on" when `rendition` property exists in `prefix` attribute of `package` element in rootfile.
|
8
|
+
|
9
|
+
EPUB Fixed-Layout defines some additional properties to see how to render Content Documents. This EPUB Parser library supports it by providing convenience methods to know how to render.
|
10
|
+
|
11
|
+
Methods for {EPUB::Publication::Package}
|
12
|
+
----------------------------------------
|
13
|
+
|
14
|
+
### {EPUB::Publication::FixedLayout::PackageMixin#using_fixed_layout #using_fixed_layout}
|
15
|
+
|
16
|
+
It is `true` when `package@prefix` attribute has `rendition` property.
|
17
|
+
|
18
|
+
parser = EPUB::Parser::Publication.new(<<OPF, 'dummy/rootfile.opf')
|
19
|
+
<package version="3.0"
|
20
|
+
unique-identifier="pub-id"
|
21
|
+
xmlns="http://www.idpf.org/2007/opf"
|
22
|
+
prefix="rendition: http://www.idpf.org/vocab/rendition/#">
|
23
|
+
</package>
|
24
|
+
OPF
|
25
|
+
package = parser.parse_package
|
26
|
+
package.using_fixed_layout # => true
|
27
|
+
|
28
|
+
And you can set by your self:
|
29
|
+
|
30
|
+
package.using_fixed_layout = true
|
31
|
+
package.prefix # => {"rendition"=>"http://www.idpf.org/vocab/rendition/#"}
|
32
|
+
|
33
|
+
Common Methods
|
34
|
+
--------------
|
35
|
+
|
36
|
+
Methods below are provided for
|
37
|
+
|
38
|
+
* {EPUB::Publication::Package::Metadata},
|
39
|
+
* {EPUB::Publication::Package::Spine::Itemref},
|
40
|
+
* {EPUB::Publication::Package::Manifest::Item} and
|
41
|
+
* {EPUB::ContentDocument::XHTML}(and its subclasses).
|
42
|
+
|
43
|
+
### #rendition_layout, #rendition_orientation and #rendition_spread
|
44
|
+
|
45
|
+
`rendition:xxx` property is specified `meta` element in `package/metadata` and `properties` attribute of `package/spine/itemref` elements in EPUB Publications. You can recommended to use `rendition_xxx` attribute to set them although you can do it by manipulating {EPUB::Publication::Package::Metadata} and {EPUB::Publication::Package::Spine::Itemref}s directly. It is the reason why it be recommended that you must manipulate some objects not only one object to set a document's `rendition:layout` to, for instance, `reflowable`; {EPUB::Publication::Package::Metadata::Meta Metadata::Meta} and {EPUB::Publication::Package::Spine::Itemref#properties Spine::Itemref#properties}. It is bothered and tends to be mistaken, so you're recommended to use not them but `rendition_layout`.
|
46
|
+
|
47
|
+
Usage is simple. Just read and write attribute values.
|
48
|
+
|
49
|
+
metadata.rendition_layout # => "reflowable"
|
50
|
+
metadata.rendition_layout = 'pre-paginated'
|
51
|
+
metadata.rendition_layout # => "pre-paginated"
|
52
|
+
|
53
|
+
itemref.rendition_layout # => "pre-paginated"
|
54
|
+
itemref.rendition_layout = "reflowable"
|
55
|
+
itemref.rendition_layout # => "reflowable"
|
56
|
+
|
57
|
+
These methods are defined for {EPUB::Publication::Package::Metadata}, {EPUB::Publication::Package::Spine::Itemref}, {EPUB::Publication::Package::Manifest::Item} and {EPUB::ContentDocument::XHTML}. Methods for {EPUB::Publication::Package::Metadata Metadata} and {EPUB::Publication::Package::Spine::Itemref Itemref} are primary and ones for {EPUB::Publication::Package::Manifest::Item Item} and {EPUB::ContentDocument::XHTML ContentDocument} are simply delegated to {EPUB::Publication::Package::Spine::Itemref Itemref}.
|
58
|
+
|
59
|
+
### aliases
|
60
|
+
|
61
|
+
Each attribute `rendition_xxx` has alias attribute as just `xxx`.
|
62
|
+
|
63
|
+
metadata.orientation = 'portrait'
|
64
|
+
metadata.orientation # => "portrait"
|
65
|
+
metadata.rendition_orientation # => "portrait"
|
66
|
+
|
67
|
+
### #reflowable? and #pre_paginated?
|
68
|
+
|
69
|
+
Predicate methods `#reflowable?` and `#pre_paginated?` which are shortcuts for comparison `rendition_layout` to arbitrary property value.
|
70
|
+
|
71
|
+
itemref.rendition_layout = 'pre-paginated'
|
72
|
+
itemref.reflowable? # => false
|
73
|
+
itemref.pre_paginated? # => true
|
74
|
+
|
75
|
+
### #make_reflowable and make_pre_paginated
|
76
|
+
|
77
|
+
`#make_reflowable` and `#make_pre_paginated` can be used instead of calling `rendition_layout` and comparing with `String` `"reflowable"` or `"pre-paginated"`, they help you from mistyping such like `"pre_paginated"`(using underscore rather than hyphen).
|
78
|
+
|
79
|
+
They are aliased to `#reflowable!` and `#pre_paginated!`.
|
80
|
+
|
81
|
+
Methods for {EPUB::Publication::Package::Spine::Itemref}
|
82
|
+
--------------------------------------------------------
|
83
|
+
|
84
|
+
### #page_spread
|
85
|
+
|
86
|
+
{EPUB::Publication::FixedLayout FixedLayout} module adds property `center` to {EPUB::Publication::Package::Spine::Itemref#page_spread}'s available properties, which are ever `left` and `right`.
|
87
|
+
|
88
|
+
itemref.page_spread # => nil
|
89
|
+
itemref.page_spread = 'center'
|
90
|
+
itemref.page_spread # => "center"
|
91
|
+
itemref.properties # => ["rendition:page-spread-center"]
|
92
|
+
|
93
|
+
References
|
94
|
+
----------
|
95
|
+
|
96
|
+
* [Fixed-Layout Documents][fixed-layout] on IDPF site
|
97
|
+
|
98
|
+
[fixed-layout]: http://www.idpf.org/epub/fxl/
|
@@ -32,9 +32,7 @@ This book object can yield page by spine's order(spine defines the order to read
|
|
32
32
|
# do something...
|
33
33
|
end
|
34
34
|
|
35
|
-
`page` above is
|
36
|
-
|
37
|
-
[1]:http://rubydoc.info/gems/epub-parser/EPUB/Publication/Package/Manifest/Item
|
35
|
+
`page` above is an {EPUB::Publication::Package::Manifest::Item} object and you can call {EPUB::Publication::Package::Manifest::Item#href #href} to see where is the page file:
|
38
36
|
|
39
37
|
book.each_page_on_spine do |page|
|
40
38
|
file = page.href # => path/to/page/in/zip/archive
|
@@ -43,15 +41,15 @@ This book object can yield page by spine's order(spine defines the order to read
|
|
43
41
|
}
|
44
42
|
end
|
45
43
|
|
46
|
-
And
|
44
|
+
And {EPUB::Publication::Package::Manifest::Item Item} provides syntax suger {EPUB::Publication::Package::Manifest::Item#read #read} for above:
|
47
45
|
|
48
46
|
html = page.read
|
49
47
|
doc = Nokogiri.HTML html
|
50
48
|
# do something with Nokogiri as always
|
51
49
|
|
52
|
-
For several utilities of Item, see
|
50
|
+
For several utilities of Item, see {file:docs/Item.markdown} page.
|
53
51
|
|
54
|
-
By the way, although `book` above is a
|
52
|
+
By the way, although `book` above is a {EPUB::Book} object, all features are provided by {EPUB} module. Therefore YourBook class can include the features of {EPUB}:
|
55
53
|
|
56
54
|
require 'epub'
|
57
55
|
|
@@ -111,4 +109,4 @@ License
|
|
111
109
|
=======
|
112
110
|
|
113
111
|
This library is distributed under the term of the MIT Licence.
|
114
|
-
See
|
112
|
+
See {file:MIT-LICENSE} file for more info.
|
@@ -1,17 +1,17 @@
|
|
1
|
-
|
1
|
+
{file:docs/Home.markdown} > **{file:docs/Item}**
|
2
2
|
|
3
3
|
Overview
|
4
4
|
========
|
5
5
|
|
6
|
-
When manipulating resources (XHTML, images, audio...) in EPUB,
|
7
|
-
And objects which
|
6
|
+
When manipulating resources (XHTML, images, audio...) in EPUB, {EPUB::Publication::Package::Manifest::Item} object will be used.
|
7
|
+
And objects which {EPUB#each_page_on_spine} yields are also instances of this class.
|
8
8
|
|
9
9
|
Here's the tutorial of this class.
|
10
10
|
|
11
11
|
Getting Items
|
12
12
|
=============
|
13
13
|
|
14
|
-
Getting the
|
14
|
+
Getting the {EPUB::Publication::Package::Manifest::Item Item} object you want is due to other classes, mainly {EPUB} module:
|
15
15
|
|
16
16
|
book = EPUB::Parser.parse 'book.epub'
|
17
17
|
book.resouces # => all items including XHTMLs, CSSs, images, audios and so on
|
@@ -27,7 +27,7 @@ For the last two examples, knowledge for EPUB structure is required.
|
|
27
27
|
Using Items
|
28
28
|
===========
|
29
29
|
|
30
|
-
Once you've got an
|
30
|
+
Once you've got an {EPUB::Publication::Package::Manifest::Item Item}, it provides informations about the item(file).
|
31
31
|
|
32
32
|
item.id # => the ID of the item
|
33
33
|
item.media_type # => media type like application/xhtml+xml
|
@@ -37,7 +37,7 @@ Once you've got an `Item`, it provides informations about the item(file).
|
|
37
37
|
item.fallback_chain # => ditto.
|
38
38
|
item.using_fallback_chain # => ditto.
|
39
39
|
|
40
|
-
And
|
40
|
+
And {EPUB::Publication::Package::Manifest::Item Item} also provides some methods which helps you handle the item.
|
41
41
|
|
42
42
|
For example, for XHTML:
|
43
43
|
|
@@ -52,13 +52,13 @@ For image:
|
|
52
52
|
Fallback Chain
|
53
53
|
==============
|
54
54
|
|
55
|
-
Some items have `fallback` attribute, which provides the item to be used when reading system(your app) cannot handle with given item for some reason(for example, media type not supported).
|
55
|
+
Some items have {EPUB::Publication::Package::Manifest::Item#fallback `fallback`} attribute, which provides the item to be used when reading system(your app) cannot handle with given item for some reason(for example, media type not supported).
|
56
56
|
|
57
|
-
Of course, you can get it by calling `fallback` method:
|
57
|
+
Of course, you can get it by calling {EPUB::Publication::Package::Manifest::Item#fallback `fallback`} method:
|
58
58
|
|
59
59
|
item.fallback # => fallback `Item` or nil
|
60
60
|
|
61
|
-
Also you can use `use_fallback_chain` not to check if you can accept item or not for every item:
|
61
|
+
Also you can use {EPUB::Publication::Package::Manifest::Item#use_fallback_chain `use_fallback_chain`} not to check if you can accept item or not for every item:
|
62
62
|
|
63
63
|
item.use_fallback_chain :supported => 'image/png' do |png|
|
64
64
|
# do something with PNG image
|
@@ -66,7 +66,7 @@ Also you can use `use_fallback_chain` not to check if you can accept item or not
|
|
66
66
|
|
67
67
|
If item's media type is, for instance, 'image/x-eps', the fallback is used.
|
68
68
|
If the fallback item's media type is 'image/png', `png` variable means the item, if not, "fallback of fallback" will be checked.
|
69
|
-
Finally you can use the item you want, or
|
69
|
+
Finally you can use the item you want, or {EPUB::Constants::MediaType::UnsupportedError EPUB::MediaType::UnsupportedError} exception will be raised(if no item you can accept found).
|
70
70
|
Therefore, you should `rescue` clause:
|
71
71
|
|
72
72
|
# :unsupported option can also be used
|
data/epub-parser.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
s.files = `git ls-files`.split("\n")
|
18
18
|
.push('test/fixtures/book/OPS/ルートファイル.opf')
|
19
19
|
.push('test/fixtures/book/OPS/日本語.xhtml')
|
20
|
-
.push(Dir['
|
20
|
+
.push(Dir['docs/*.md'])
|
21
21
|
s.files.reject! do |fn|
|
22
22
|
['"test/fixtures/book/OPS/\343\203\253\343\203\274\343\203\210\343\203\225\343\202\241\343\202\244\343\203\253.opf"', '"test/fixtures/book/OPS/\346\227\245\346\234\254\350\252\236.xhtml"'].include? fn
|
23
23
|
end
|
@@ -26,7 +26,6 @@ Gem::Specification.new do |s|
|
|
26
26
|
s.require_paths = ["lib"]
|
27
27
|
s.has_rdoc = 'yard'
|
28
28
|
|
29
|
-
s.add_development_dependency 'rubygems-test'
|
30
29
|
s.add_development_dependency 'rake'
|
31
30
|
s.add_development_dependency 'pry'
|
32
31
|
s.add_development_dependency 'pry-doc'
|
@@ -43,6 +42,6 @@ Gem::Specification.new do |s|
|
|
43
42
|
|
44
43
|
s.add_runtime_dependency 'enumerabler'
|
45
44
|
s.add_runtime_dependency 'zipruby'
|
46
|
-
s.add_runtime_dependency 'nokogiri', '1.5.
|
45
|
+
s.add_runtime_dependency 'nokogiri', '1.5.9'
|
47
46
|
s.add_runtime_dependency 'addressable'
|
48
47
|
end
|
data/lib/epub.rb
CHANGED
@@ -8,13 +8,6 @@ module EPUB
|
|
8
8
|
class ContentDocument
|
9
9
|
include Utils
|
10
10
|
|
11
|
-
class << self
|
12
|
-
# @param [EPUB::Publication::Package::Manifest::Item] item
|
13
|
-
def parse(item)
|
14
|
-
new(item).parse
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
11
|
# @param [EPUB::Publication::Package::Manifest::Item] item
|
19
12
|
def initialize(item)
|
20
13
|
@item = item
|
data/lib/epub/parser/ocf.rb
CHANGED
@@ -55,19 +55,19 @@ module EPUB
|
|
55
55
|
encryption
|
56
56
|
end
|
57
57
|
|
58
|
-
def parse_manifest
|
58
|
+
def parse_manifest(content)
|
59
59
|
warn "Not implemented: #{self.class}##{__method__}" if $VERBOSE
|
60
60
|
end
|
61
61
|
|
62
|
-
def parse_metadata
|
62
|
+
def parse_metadata(content)
|
63
63
|
warn "Not implemented: #{self.class}##{__method__}" if $VERBOSE
|
64
64
|
end
|
65
65
|
|
66
|
-
def parse_rights
|
66
|
+
def parse_rights(content)
|
67
67
|
warn "Not implemented: #{self.class}##{__method__}" if $VERBOSE
|
68
68
|
end
|
69
69
|
|
70
|
-
def parse_signatures
|
70
|
+
def parse_signatures(content)
|
71
71
|
warn "Not implemented: #{self.class}##{__method__}" if $VERBOSE
|
72
72
|
end
|
73
73
|
end
|