fb2rb 0.3.0 → 0.4.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.
- checksums.yaml +4 -4
- data/.github/dependabot.yml +5 -0
- data/CHANGELOG.adoc +4 -0
- data/fb2rb.gemspec +3 -3
- data/lib/fb2rb.rb +21 -4
- data/lib/fb2rb/version.rb +1 -1
- metadata +9 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dfb4528624a4eb3be4782bc3a3affe44cee7a9ba88f2123ae83a0a8cd4791455
|
4
|
+
data.tar.gz: 6221bfe28e99a59b82f87c7957213ad24c1befa6f6b2460173aa56da3fd8f400
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b019fe1a3f27dc0d64e909a5f0655ca154e9c3addc6f38f2ea3716dc7eee19798604e54045d2ef94844ed0f495d33fa5ffa8d6db13a3065182dc7aa30fabd5e0
|
7
|
+
data.tar.gz: c7840ad4f5bb5cc4feb2c878f862c993db3fa842eb3be1013e17b6fb14ea7182e3818a487fb260c1c9a7541f90f0b791fad9afc919cc24eacd2b60d1bfc5fea5
|
data/.github/dependabot.yml
CHANGED
data/CHANGELOG.adoc
CHANGED
@@ -7,6 +7,10 @@
|
|
7
7
|
This document provides a high-level view of the changes to the {project-name} by release.
|
8
8
|
For a detailed view of what has changed, refer to the {uri-project}/commits/master[commit history] on GitHub.
|
9
9
|
|
10
|
+
== 0.4.0 (2020-11-24) - @slonopotamus
|
11
|
+
|
12
|
+
* add `Book::add_stylesheet` method
|
13
|
+
|
10
14
|
== 0.3.0 (2020-07-27) - @slonopotamus
|
11
15
|
|
12
16
|
* Support reading/writing uncompressed FB2. https://github.com/slonopotamus/fb2rb/issues/5[#5]
|
data/fb2rb.gemspec
CHANGED
@@ -22,7 +22,7 @@ Gem::Specification.new do |s|
|
|
22
22
|
s.add_runtime_dependency 'rubyzip', '~> 2.3.0'
|
23
23
|
|
24
24
|
s.add_development_dependency 'rake', '~> 13.0.0'
|
25
|
-
s.add_development_dependency 'rspec', '~> 3.
|
26
|
-
s.add_development_dependency 'rubocop', '~> 0.
|
27
|
-
s.add_development_dependency 'rubocop-rspec', '~> 1.
|
25
|
+
s.add_development_dependency 'rspec', '~> 3.10.0'
|
26
|
+
s.add_development_dependency 'rubocop', '~> 0.93.0'
|
27
|
+
s.add_development_dependency 'rubocop-rspec', '~> 1.44.0'
|
28
28
|
end
|
data/lib/fb2rb.rb
CHANGED
@@ -116,6 +116,16 @@ module FB2rb
|
|
116
116
|
end
|
117
117
|
end
|
118
118
|
|
119
|
+
def add_stylesheet(content_type, filename_or_io)
|
120
|
+
if filename_or_io.respond_to?(:read)
|
121
|
+
add_stylesheet_io(content_type, filename_or_io)
|
122
|
+
else
|
123
|
+
File.open(filename_or_io, 'r') do |io|
|
124
|
+
add_stylesheet_io(content_type, io)
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
119
129
|
# Writes compressed FB2 to file or IO object. If file exists, it will be overwritten.
|
120
130
|
def write_compressed(filename_or_io = StringIO.new)
|
121
131
|
if filename_or_io.respond_to?(:write)
|
@@ -165,6 +175,13 @@ module FB2rb
|
|
165
175
|
@binaries << Binary.new(name, content, content_type)
|
166
176
|
self
|
167
177
|
end
|
178
|
+
|
179
|
+
def add_stylesheet_io(content_type, io)
|
180
|
+
io.binmode
|
181
|
+
content = io.read
|
182
|
+
@stylesheets << Stylesheet.new(content_type, content)
|
183
|
+
self
|
184
|
+
end
|
168
185
|
end
|
169
186
|
|
170
187
|
# Holds <description> data
|
@@ -367,7 +384,7 @@ module FB2rb
|
|
367
384
|
end
|
368
385
|
|
369
386
|
# @return [FB2rb::DocumentInfo]
|
370
|
-
def self.parse(xml, fb2_prefix) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
|
387
|
+
def self.parse(xml, fb2_prefix) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
|
371
388
|
date = xml.at("./#{fb2_prefix}:date")
|
372
389
|
DocumentInfo.new(
|
373
390
|
xml.xpath("./#{fb2_prefix}:author").map do |node|
|
@@ -459,7 +476,7 @@ module FB2rb
|
|
459
476
|
end
|
460
477
|
|
461
478
|
# @return [FB2rb::TitleInfo]
|
462
|
-
def self.parse(xml, fb2_prefix, xlink_prefix) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
|
479
|
+
def self.parse(xml, fb2_prefix, xlink_prefix) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
|
463
480
|
date = xml.at("./#{fb2_prefix}:date")
|
464
481
|
coverpage = xml.at("./#{fb2_prefix}:coverpage")
|
465
482
|
TitleInfo.new(
|
@@ -483,7 +500,7 @@ module FB2rb
|
|
483
500
|
)
|
484
501
|
end
|
485
502
|
|
486
|
-
def to_xml(xml, tag) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
|
503
|
+
def to_xml(xml, tag) # rubocop:disable Metrics/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength, Metrics/PerceivedComplexity
|
487
504
|
xml.send(tag) do
|
488
505
|
genres.each do |genre|
|
489
506
|
xml.genre(genre)
|
@@ -633,7 +650,7 @@ module FB2rb
|
|
633
650
|
)
|
634
651
|
end
|
635
652
|
|
636
|
-
def to_xml(xml, tag) # rubocop:disable Metrics/
|
653
|
+
def to_xml(xml, tag) # rubocop:disable Metrics/CyclomaticComplexity, Metrics/MethodLength
|
637
654
|
xml.send(tag) do
|
638
655
|
xml.send('first-name', @first_name) unless @first_name.nil?
|
639
656
|
xml.send('middle-name', @middle_name) unless @middle_name.nil?
|
data/lib/fb2rb/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fb2rb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marat Radchenko
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -58,42 +58,42 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 3.
|
61
|
+
version: 3.10.0
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 3.
|
68
|
+
version: 3.10.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rubocop
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: 0.
|
75
|
+
version: 0.93.0
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: 0.
|
82
|
+
version: 0.93.0
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rubocop-rspec
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 1.
|
89
|
+
version: 1.44.0
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 1.
|
96
|
+
version: 1.44.0
|
97
97
|
description:
|
98
98
|
email:
|
99
99
|
- marat@slonopotamus.org
|
@@ -139,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
139
|
- !ruby/object:Gem::Version
|
140
140
|
version: '0'
|
141
141
|
requirements: []
|
142
|
-
rubygems_version: 3.1.
|
142
|
+
rubygems_version: 3.1.4
|
143
143
|
signing_key:
|
144
144
|
specification_version: 4
|
145
145
|
summary: Fiction Book 2 parser/generator library
|