fb2rb 0.8.0 → 0.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1b0cba63057a870150ac866d4bad15d1abfcc46700e5fbcc518624dfc0070b8c
4
- data.tar.gz: b36961a19897fab51251b158b76cb5ce7a0ad371d095e8f37b40c295c5e6a546
3
+ metadata.gz: 9f40628b5817548b930e498b741899cbe16af58e490774277a1edef7bf8959f8
4
+ data.tar.gz: f2dc2d7b3f75b59134c8ea454f9af78faea7c977be12f20538e6954c26292610
5
5
  SHA512:
6
- metadata.gz: 59cfc281a836952a9b6b62ebba3e015206555c3c19a64804aad1a54189b58245e62f106adfd2a6d55281efe675f125553fe81f77fb244cd5339625e97c610bab
7
- data.tar.gz: 01df364a0b2e879f67ef8884629a2ee563ca0cdccb5f122a959663e516477b622c3b05380451bde8e96fcceafe662a7a924eb810db0f41046f9a92e0e740bbee
6
+ metadata.gz: 78b4b0a543373ff9c62a4e2894c9212d47bc61cc16e13ee3718b72baee12de0a2c2bc33f2f407598a6641649aec3b64927c39d633f0e4e26c7471a401711db1f
7
+ data.tar.gz: 87e5bba7077549dc647aa714d71e4c8322181f5e7323e8cec66354a245fbf73feb6bdefcf676c4501cab71aa0cdca002bb7177a5aca25c6a21848aa683c51e8f
@@ -5,11 +5,11 @@ jobs:
5
5
  runs-on: ubuntu-latest
6
6
  steps:
7
7
  - name: Checkout
8
- uses: actions/checkout@v3
8
+ uses: actions/checkout@v4
9
9
  - name: Set up Ruby
10
10
  uses: ruby/setup-ruby@v1
11
11
  with:
12
- ruby-version: '3.1'
12
+ ruby-version: '3.4'
13
13
  bundler-cache: true
14
14
  - name: Lint
15
15
  run: bundle exec rake lint
@@ -17,15 +17,17 @@ jobs:
17
17
  strategy:
18
18
  matrix:
19
19
  # Test oldest and newest supported versions
20
- ruby: ['jruby-9.2', 'jruby-9.4', '2.5', '3.1']
21
- os: [ubuntu-latest, windows-latest]
22
- include:
23
- - ruby: '3.1'
24
- os: macos-latest
20
+ ruby: ['jruby', '2.7', '3.4']
21
+ os: [ubuntu-latest, macos-latest, windows-latest]
25
22
  runs-on: ${{ matrix.os }}
26
23
  steps:
27
24
  - name: Checkout
28
- uses: actions/checkout@v3
25
+ uses: actions/checkout@v4
26
+ - name: Set up Java
27
+ uses: actions/setup-java@v4
28
+ with:
29
+ java-version: '21'
30
+ distribution: 'adopt'
29
31
  - name: Set up Ruby
30
32
  uses: ruby/setup-ruby@v1
31
33
  with:
@@ -7,11 +7,11 @@ jobs:
7
7
  build:
8
8
  runs-on: ubuntu-latest
9
9
  steps:
10
- - uses: actions/checkout@v3
10
+ - uses: actions/checkout@v4
11
11
  - name: Set up Ruby
12
12
  uses: ruby/setup-ruby@v1
13
13
  with:
14
- ruby-version: '3.1'
14
+ ruby-version: '3.4'
15
15
  - name: Publish to RubyGems.org
16
16
  uses: dawidd6/action-publish-gem@v1
17
17
  with:
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  /.bundle/
2
2
  /.idea/
3
3
  /Gemfile.lock
4
+ /vendor/
data/CHANGELOG.adoc CHANGED
@@ -7,6 +7,11 @@
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.9.0 (2025-01-20) @slonopotamus
11
+
12
+ * Remove dependency on base64 to fix Ruby 3.4 compatibility
13
+ * Bump minimal required Ruby version to 2.7
14
+
10
15
  == 0.8.0 (2023-05-03) @slonopotamus
11
16
 
12
17
  * Allow Nokogiri 1.x
data/README.adoc CHANGED
@@ -8,7 +8,7 @@ Marat Radchenko <marat@slonopotamus.org>
8
8
  :uri-gem: https://rubygems.org/gems/{project-handle}
9
9
 
10
10
  image:https://img.shields.io/gem/v/{project-handle}.svg[Latest Release,link={uri-gem}]
11
- image:{uri-project}/workflows/CI/badge.svg?branch=master[Build Status,link={uri-ci}]
11
+ image:{uri-project}/actions/workflows/ci.yml/badge.svg?branch=master[Build Status,link={uri-ci}]
12
12
 
13
13
  {project-handle} is a http://gribuser.ru/xml/fictionbook/index.html.en[Fiction Book 2] parser/generator library written in Ruby.
14
14
 
data/fb2rb.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
  s.summary = 'Fiction Book 2 parser/generator library'
11
11
  s.homepage = 'https://github.com/slonopotamus/fb2rb'
12
12
  s.license = 'MIT'
13
- s.required_ruby_version = '>= 2.5.0'
13
+ s.required_ruby_version = '>= 2.7.0'
14
14
 
15
15
  s.files = `git ls-files`.split("\n").reject { |f| f.match(%r{^spec/}) }
16
16
  s.executables = `git ls-files -- bin/*`.split("\n").map do |f|
@@ -19,11 +19,11 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ['lib']
20
20
 
21
21
  s.add_runtime_dependency 'nokogiri', '>= 1.10', '< 2.0'
22
- s.add_runtime_dependency 'rubyzip', '~> 2.3.0'
22
+ s.add_runtime_dependency 'rubyzip', '>= 2.3.0', '< 3.0'
23
23
 
24
- s.add_development_dependency 'rake', '~> 13.0.0'
25
- s.add_development_dependency 'rspec', '~> 3.12.0'
26
- s.add_development_dependency 'rubocop', '~> 1.28.2'
24
+ s.add_development_dependency 'rake', '~> 13.2.0'
25
+ s.add_development_dependency 'rspec', '~> 3.13.0'
26
+ s.add_development_dependency 'rubocop', '~> 1.69.2'
27
27
  s.add_development_dependency 'rubocop-rake', '~> 0.6.0'
28
- s.add_development_dependency 'rubocop-rspec', '~> 2.10.0'
28
+ s.add_development_dependency 'rubocop-rspec', '~> 3.3'
29
29
  end
data/lib/fb2rb/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FB2rb
4
- VERSION = '0.8.0'
4
+ VERSION = '0.9.0'
5
5
  end
data/lib/fb2rb.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'base64'
4
3
  require 'date'
5
4
  require 'fb2rb/version'
6
5
  require 'nokogiri'
@@ -57,7 +56,7 @@ module FB2rb
57
56
 
58
57
  def ns_prefix(namespace, namespaces)
59
58
  prefix = namespaces.key(namespace)
60
- prefix.nil? ? nil : prefix.sub(/^xmlns:/, '')
59
+ prefix&.sub(/^xmlns:/, '')
61
60
  end
62
61
 
63
62
  private
@@ -715,12 +714,12 @@ module FB2rb
715
714
  end
716
715
 
717
716
  def self.parse(xml)
718
- decoded = Base64.decode64(xml.text)
717
+ decoded = xml.text.unpack('m0')
719
718
  Binary.new(id: xml['id'], content: decoded, content_type: xml['content-type'])
720
719
  end
721
720
 
722
721
  def to_xml(xml)
723
- encoded = Base64.encode64(@content)
722
+ encoded = [@content].pack('m0')
724
723
  xml.binary(encoded, 'id' => @id, 'content-type' => @content_type)
725
724
  end
726
725
  end
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fb2rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marat Radchenko
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-05-03 00:00:00.000000000 Z
10
+ date: 2025-01-20 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: nokogiri
@@ -34,58 +33,64 @@ dependencies:
34
33
  name: rubyzip
35
34
  requirement: !ruby/object:Gem::Requirement
36
35
  requirements:
37
- - - "~>"
36
+ - - ">="
38
37
  - !ruby/object:Gem::Version
39
38
  version: 2.3.0
39
+ - - "<"
40
+ - !ruby/object:Gem::Version
41
+ version: '3.0'
40
42
  type: :runtime
41
43
  prerelease: false
42
44
  version_requirements: !ruby/object:Gem::Requirement
43
45
  requirements:
44
- - - "~>"
46
+ - - ">="
45
47
  - !ruby/object:Gem::Version
46
48
  version: 2.3.0
49
+ - - "<"
50
+ - !ruby/object:Gem::Version
51
+ version: '3.0'
47
52
  - !ruby/object:Gem::Dependency
48
53
  name: rake
49
54
  requirement: !ruby/object:Gem::Requirement
50
55
  requirements:
51
56
  - - "~>"
52
57
  - !ruby/object:Gem::Version
53
- version: 13.0.0
58
+ version: 13.2.0
54
59
  type: :development
55
60
  prerelease: false
56
61
  version_requirements: !ruby/object:Gem::Requirement
57
62
  requirements:
58
63
  - - "~>"
59
64
  - !ruby/object:Gem::Version
60
- version: 13.0.0
65
+ version: 13.2.0
61
66
  - !ruby/object:Gem::Dependency
62
67
  name: rspec
63
68
  requirement: !ruby/object:Gem::Requirement
64
69
  requirements:
65
70
  - - "~>"
66
71
  - !ruby/object:Gem::Version
67
- version: 3.12.0
72
+ version: 3.13.0
68
73
  type: :development
69
74
  prerelease: false
70
75
  version_requirements: !ruby/object:Gem::Requirement
71
76
  requirements:
72
77
  - - "~>"
73
78
  - !ruby/object:Gem::Version
74
- version: 3.12.0
79
+ version: 3.13.0
75
80
  - !ruby/object:Gem::Dependency
76
81
  name: rubocop
77
82
  requirement: !ruby/object:Gem::Requirement
78
83
  requirements:
79
84
  - - "~>"
80
85
  - !ruby/object:Gem::Version
81
- version: 1.28.2
86
+ version: 1.69.2
82
87
  type: :development
83
88
  prerelease: false
84
89
  version_requirements: !ruby/object:Gem::Requirement
85
90
  requirements:
86
91
  - - "~>"
87
92
  - !ruby/object:Gem::Version
88
- version: 1.28.2
93
+ version: 1.69.2
89
94
  - !ruby/object:Gem::Dependency
90
95
  name: rubocop-rake
91
96
  requirement: !ruby/object:Gem::Requirement
@@ -106,15 +111,14 @@ dependencies:
106
111
  requirements:
107
112
  - - "~>"
108
113
  - !ruby/object:Gem::Version
109
- version: 2.10.0
114
+ version: '3.3'
110
115
  type: :development
111
116
  prerelease: false
112
117
  version_requirements: !ruby/object:Gem::Requirement
113
118
  requirements:
114
119
  - - "~>"
115
120
  - !ruby/object:Gem::Version
116
- version: 2.10.0
117
- description:
121
+ version: '3.3'
118
122
  email:
119
123
  - marat@slonopotamus.org
120
124
  executables: []
@@ -144,7 +148,6 @@ homepage: https://github.com/slonopotamus/fb2rb
144
148
  licenses:
145
149
  - MIT
146
150
  metadata: {}
147
- post_install_message:
148
151
  rdoc_options: []
149
152
  require_paths:
150
153
  - lib
@@ -152,15 +155,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
152
155
  requirements:
153
156
  - - ">="
154
157
  - !ruby/object:Gem::Version
155
- version: 2.5.0
158
+ version: 2.7.0
156
159
  required_rubygems_version: !ruby/object:Gem::Requirement
157
160
  requirements:
158
161
  - - ">="
159
162
  - !ruby/object:Gem::Version
160
163
  version: '0'
161
164
  requirements: []
162
- rubygems_version: 3.3.26
163
- signing_key:
165
+ rubygems_version: 3.6.2
164
166
  specification_version: 4
165
167
  summary: Fiction Book 2 parser/generator library
166
168
  test_files: []