fb2rb 0.8.0 → 0.9.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: 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: []