fb2rb 0.3.0 → 0.4.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
  SHA256:
3
- metadata.gz: fc31542e10b2b534c4a4ffd960f6155eebee2c06a8fe5d5527739a653a7be68d
4
- data.tar.gz: 9863b69c7c307de46f4e5c15389c2b9934818c2a0b2bf4f3ee9126e015277b94
3
+ metadata.gz: dfb4528624a4eb3be4782bc3a3affe44cee7a9ba88f2123ae83a0a8cd4791455
4
+ data.tar.gz: 6221bfe28e99a59b82f87c7957213ad24c1befa6f6b2460173aa56da3fd8f400
5
5
  SHA512:
6
- metadata.gz: 1366e3268dc0711bc00eeb7936fba94dfd9f6ad29f497eaed56e9ddf4aff188bd5270e1c552ebfe80fefa2053ab5f39f186d1499e19c3b29edfd181ef3f7edba
7
- data.tar.gz: 7edd5ad64f31355bd5f014855a8e49d2c5264495ef42e144f978ce4e8fc962e7de04b838ead0688a0ef81a64d9b7229f74ade2887b4f758ed78a29ff93b66f01
6
+ metadata.gz: b019fe1a3f27dc0d64e909a5f0655ca154e9c3addc6f38f2ea3716dc7eee19798604e54045d2ef94844ed0f495d33fa5ffa8d6db13a3065182dc7aa30fabd5e0
7
+ data.tar.gz: c7840ad4f5bb5cc4feb2c878f862c993db3fa842eb3be1013e17b6fb14ea7182e3818a487fb260c1c9a7541f90f0b791fad9afc919cc24eacd2b60d1bfc5fea5
@@ -6,3 +6,8 @@ updates:
6
6
  directory: "/"
7
7
  schedule:
8
8
  interval: "daily"
9
+
10
+ - package-ecosystem: "github-actions"
11
+ directory: "/"
12
+ schedule:
13
+ interval: "daily"
@@ -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]
@@ -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.9.0'
26
- s.add_development_dependency 'rubocop', '~> 0.88.0'
27
- s.add_development_dependency 'rubocop-rspec', '~> 1.42.0'
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
@@ -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/AbcSize, Metrics/CyclomaticComplexity, Metrics/MethodLength
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?
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FB2rb
4
- VERSION = '0.3.0'
4
+ VERSION = '0.4.0'
5
5
  end
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.3.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-07-27 00:00:00.000000000 Z
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.9.0
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.9.0
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.88.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.88.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.42.0
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.42.0
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.2
142
+ rubygems_version: 3.1.4
143
143
  signing_key:
144
144
  specification_version: 4
145
145
  summary: Fiction Book 2 parser/generator library