mangadex 5.7.5 → 5.7.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/publish-gem.yml +20 -0
- data/Gemfile.lock +5 -5
- data/lib/mangadex/auth.rb +1 -6
- data/lib/mangadex/author.rb +2 -2
- data/lib/mangadex/chapter_read_marker.rb +1 -3
- data/lib/mangadex/cover_art.rb +2 -2
- data/lib/mangadex/custom_list.rb +4 -4
- data/lib/mangadex/internal/definition.rb +15 -9
- data/lib/mangadex/manga.rb +8 -13
- data/lib/mangadex/report.rb +3 -5
- data/lib/mangadex/scanlation_group.rb +2 -2
- data/lib/mangadex/sorbet.rb +8 -6
- data/lib/mangadex/statistic.rb +1 -3
- data/lib/mangadex/user.rb +6 -6
- data/lib/mangadex/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 534eb32f3c781613856ba8014c49eed88d4afccf214e6cab713b190a2c66b183
|
4
|
+
data.tar.gz: 29033cae0bd89f71a0e995cc4d0a1e2b5b1f1e643f1ad225c0612d08bf180b0e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 487288b4a87320864eb65e3c2104b0b749ca8e3209b0a0b37c6b4e3ca3fee49652d0d27927079a99cc2bc7d926911df7b93286fff6853e2541f18ef0a2d19214
|
7
|
+
data.tar.gz: f0fa3e6cab36924fa0125560f71565ff22f02a029915a602d8b4ddd37bc6c034e80f8547e279bf638e52aaee944f37c661b9cf1233844badb2e0463006019b4b
|
@@ -0,0 +1,20 @@
|
|
1
|
+
name: Publish Gem
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
tags:
|
6
|
+
- v*
|
7
|
+
jobs:
|
8
|
+
build:
|
9
|
+
runs-on: ubuntu-latest
|
10
|
+
|
11
|
+
steps:
|
12
|
+
- uses: actions/checkout@v1
|
13
|
+
|
14
|
+
- name: Release Gem
|
15
|
+
if: contains(github.ref, 'refs/tags/v')
|
16
|
+
uses: cadwallion/publish-rubygems-action@master
|
17
|
+
env:
|
18
|
+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
|
19
|
+
RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}
|
20
|
+
RELEASE_COMMAND: rake release
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
mangadex (5.
|
4
|
+
mangadex (5.7.5.2)
|
5
5
|
psych (~> 4.0.1)
|
6
6
|
rest-client (~> 2.1)
|
7
7
|
sorbet-runtime
|
@@ -45,10 +45,10 @@ GEM
|
|
45
45
|
diff-lcs (>= 1.2.0, < 2.0)
|
46
46
|
rspec-support (~> 3.12.0)
|
47
47
|
rspec-support (3.12.0)
|
48
|
-
sorbet (0.5.
|
49
|
-
sorbet-static (= 0.5.
|
50
|
-
sorbet-runtime (0.5.
|
51
|
-
sorbet-static (0.5.
|
48
|
+
sorbet (0.5.10535)
|
49
|
+
sorbet-static (= 0.5.10535)
|
50
|
+
sorbet-runtime (0.5.10539)
|
51
|
+
sorbet-static (0.5.10535-x86_64-linux)
|
52
52
|
stringio (3.0.2)
|
53
53
|
unf (0.1.4)
|
54
54
|
unf_ext
|
data/lib/mangadex/auth.rb
CHANGED
@@ -58,12 +58,7 @@ module Mangadex
|
|
58
58
|
|
59
59
|
sig { returns(Hash) }
|
60
60
|
def self.check_token
|
61
|
-
|
62
|
-
Mangadex::Internal::Request.get(
|
63
|
-
'/auth/check',
|
64
|
-
raw: true,
|
65
|
-
)
|
66
|
-
)
|
61
|
+
Mangadex::Internal::Request.get('/auth/check')
|
67
62
|
end
|
68
63
|
|
69
64
|
sig { returns(T.any(T::Boolean, Mangadex::Api::Response)) }
|
data/lib/mangadex/author.rb
CHANGED
@@ -35,8 +35,8 @@ module Mangadex
|
|
35
35
|
Mangadex::Internal::Request.get(
|
36
36
|
'/author',
|
37
37
|
Mangadex::Internal::Definition.validate(args, {
|
38
|
-
limit: { accepts: Integer },
|
39
|
-
offset: { accepts: Integer },
|
38
|
+
limit: { accepts: Integer, converts: :to_i },
|
39
|
+
offset: { accepts: Integer, converts: :to_i },
|
40
40
|
ids: { accepts: [String] },
|
41
41
|
name: { accepts: String },
|
42
42
|
order: { accepts: Hash },
|
@@ -25,12 +25,10 @@ module Mangadex
|
|
25
25
|
|
26
26
|
sig { sig(args: T::Api::Arguments).returns(T::Api::GenericResponse) }
|
27
27
|
def self.list(**args)
|
28
|
-
to_a = Mangadex::Internal::Definition.converts(:to_a)
|
29
|
-
|
30
28
|
Mangadex::Internal::Request.get(
|
31
29
|
'/manga/list',
|
32
30
|
Mangadex::Internal::Definition.validate(args, {
|
33
|
-
ids: { accepts: [String], converts: to_a, required: true },
|
31
|
+
ids: { accepts: [String], converts: :to_a, required: true },
|
34
32
|
grouped: { accepts: [true, false] },
|
35
33
|
})
|
36
34
|
)
|
data/lib/mangadex/cover_art.rb
CHANGED
@@ -17,8 +17,8 @@ module Mangadex
|
|
17
17
|
Mangadex::Internal::Request.get(
|
18
18
|
'/cover',
|
19
19
|
Mangadex::Internal::Definition.validate(args, {
|
20
|
-
limit: { accepts: Integer },
|
21
|
-
offset: { accepts: Integer },
|
20
|
+
limit: { accepts: Integer, converts: :to_i },
|
21
|
+
offset: { accepts: Integer, converts: :to_i },
|
22
22
|
manga: { accepts: [String] },
|
23
23
|
ids: { accepts: [String] },
|
24
24
|
uploaders: { accepts: [String] },
|
data/lib/mangadex/custom_list.rb
CHANGED
@@ -99,8 +99,8 @@ module Mangadex
|
|
99
99
|
Mangadex::Internal::Request.get(
|
100
100
|
'/user/list',
|
101
101
|
Mangadex::Internal::Definition.validate(args, {
|
102
|
-
limit: { accepts: Integer },
|
103
|
-
offset: { accepts: Integer },
|
102
|
+
limit: { accepts: Integer, converts: :to_i },
|
103
|
+
offset: { accepts: Integer, converts: :to_i },
|
104
104
|
}),
|
105
105
|
)
|
106
106
|
end
|
@@ -112,8 +112,8 @@ module Mangadex
|
|
112
112
|
Mangadex::Internal::Request.get(
|
113
113
|
'/user/%{id}/list' % {id: user_id},
|
114
114
|
Mangadex::Internal::Definition.validate(args, {
|
115
|
-
limit: { accepts: Integer },
|
116
|
-
offset: { accepts: Integer },
|
115
|
+
limit: { accepts: Integer, converts: :to_i },
|
116
|
+
offset: { accepts: Integer, converts: :to_i },
|
117
117
|
}),
|
118
118
|
)
|
119
119
|
end
|
@@ -14,7 +14,7 @@ module Mangadex
|
|
14
14
|
def initialize(key, value, converts: nil, accepts: nil, required: false)
|
15
15
|
@converts = converts
|
16
16
|
@key = key
|
17
|
-
@value = convert_value(value)
|
17
|
+
@value = convert_value(value.presence)
|
18
18
|
@raw_value = value
|
19
19
|
@accepts = accepts
|
20
20
|
@required = required ? true : false
|
@@ -45,6 +45,10 @@ module Mangadex
|
|
45
45
|
end
|
46
46
|
|
47
47
|
def convert_value(value)
|
48
|
+
if converts.is_a?(Symbol)
|
49
|
+
converts_proc = self.class.converts(converts)
|
50
|
+
return converts_proc.call(value) if converts_proc
|
51
|
+
end
|
48
52
|
if converts.is_a?(Proc)
|
49
53
|
converts.call(value)
|
50
54
|
elsif converts.is_a?(String) || converts.is_a?(Symbol)
|
@@ -113,15 +117,15 @@ module Mangadex
|
|
113
117
|
validate(
|
114
118
|
args,
|
115
119
|
{
|
116
|
-
limit: { accepts: Integer },
|
117
|
-
offset: { accepts: Integer },
|
120
|
+
limit: { accepts: Integer, converts: :to_i },
|
121
|
+
offset: { accepts: Integer, converts: :to_i },
|
118
122
|
ids: { accepts: [String] },
|
119
123
|
title: { accepts: String },
|
120
124
|
manga: { accepts: String },
|
121
125
|
groups: { accepts: [String] },
|
122
|
-
uploader: { accepts: [String], converts:
|
123
|
-
chapter: { accepts: [String], converts:
|
124
|
-
translated_language: { accepts: [String], converts:
|
126
|
+
uploader: { accepts: [String], converts: :to_a },
|
127
|
+
chapter: { accepts: [String], converts: :to_a },
|
128
|
+
translated_language: { accepts: [String], converts: :to_a },
|
125
129
|
original_language: { accepts: [String] },
|
126
130
|
excluded_original_language: { accepts: [String] },
|
127
131
|
content_rating: Definitions::ContentRating,
|
@@ -130,7 +134,7 @@ module Mangadex
|
|
130
134
|
updated_at_since: { accepts: %r{^\d{4}-[0-1]\d-([0-2]\d|3[0-1])T([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$} },
|
131
135
|
publish_at_since: { accepts: %r{^\d{4}-[0-1]\d-([0-2]\d|3[0-1])T([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$} },
|
132
136
|
order: { accepts: Hash },
|
133
|
-
includes: { accepts: [String], converts:
|
137
|
+
includes: { accepts: [String], converts: :to_a },
|
134
138
|
include_empty_pages: { accepts: [0, 1], converts: converts(:to_i) },
|
135
139
|
include_future_publish_at: { accepts: [0, 1], converts: converts(:to_i) },
|
136
140
|
include_external_url: { accepts: [0, 1], converts: converts(:to_i) },
|
@@ -176,7 +180,7 @@ module Mangadex
|
|
176
180
|
|
177
181
|
if validation_error
|
178
182
|
errors << { message: validation_error }
|
179
|
-
elsif !validator.empty?
|
183
|
+
elsif !validator.empty? && validator.value
|
180
184
|
args[key] = validator.value
|
181
185
|
end
|
182
186
|
end
|
@@ -194,7 +198,9 @@ module Mangadex
|
|
194
198
|
raise ArgumentError, "Validation error: #{error_message}"
|
195
199
|
end
|
196
200
|
|
197
|
-
args.symbolize_keys
|
201
|
+
args.symbolize_keys.select do |_, value|
|
202
|
+
value.presence
|
203
|
+
end
|
198
204
|
end
|
199
205
|
end
|
200
206
|
end
|
data/lib/mangadex/manga.rb
CHANGED
@@ -27,13 +27,11 @@ module Mangadex
|
|
27
27
|
|
28
28
|
sig { params(args: T::Api::Arguments).returns(T::Api::MangaResponse) }
|
29
29
|
def self.list(**args)
|
30
|
-
to_a = Mangadex::Internal::Definition.converts(:to_a)
|
31
|
-
|
32
30
|
Mangadex::Internal::Request.get(
|
33
31
|
'/manga',
|
34
32
|
Mangadex::Internal::Definition.validate(args, {
|
35
|
-
limit: { accepts: Integer },
|
36
|
-
offset: { accepts: Integer },
|
33
|
+
limit: { accepts: Integer, converts: :to_i },
|
34
|
+
offset: { accepts: Integer, converts: :to_i },
|
37
35
|
title: { accepts: String },
|
38
36
|
author_or_artist: { accepts: String },
|
39
37
|
authors: { accepts: [String] },
|
@@ -43,17 +41,17 @@ module Mangadex
|
|
43
41
|
included_tags_mode: { accepts: %w(OR AND) },
|
44
42
|
excluded_tags: { accepts: [String] },
|
45
43
|
excluded_tags_mode: { accepts: %w(OR AND) },
|
46
|
-
status: { accepts: %w(ongoing completed hiatus cancelled), converts: to_a },
|
44
|
+
status: { accepts: %w(ongoing completed hiatus cancelled), converts: :to_a },
|
47
45
|
original_language: { accepts: [String] },
|
48
46
|
excluded_original_language: { accepts: [String] },
|
49
47
|
available_translated_language: { accepts: [String] },
|
50
|
-
publication_demographic: { accepts: %w(shounen shoujo josei seinen none), converts: to_a },
|
48
|
+
publication_demographic: { accepts: %w(shounen shoujo josei seinen none), converts: :to_a },
|
51
49
|
ids: { accepts: Array },
|
52
|
-
content_rating: { accepts: %w(safe suggestive erotica pornographic), converts: to_a },
|
50
|
+
content_rating: { accepts: %w(safe suggestive erotica pornographic), converts: :to_a },
|
53
51
|
created_at_since: { accepts: %r{^\d{4}-[0-1]\d-([0-2]\d|3[0-1])T([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$} },
|
54
52
|
updated_at_since: { accepts: %r{^\d{4}-[0-1]\d-([0-2]\d|3[0-1])T([0-1]\d|2[0-3]):[0-5]\d:[0-5]\d$} },
|
55
53
|
order: { accepts: Hash },
|
56
|
-
includes: { accepts: Array, converts: to_a },
|
54
|
+
includes: { accepts: Array, converts: :to_a },
|
57
55
|
has_available_chapters: { accepts: ['0', '1', 'true', 'false'] },
|
58
56
|
group: { accepts: String },
|
59
57
|
}),
|
@@ -74,13 +72,12 @@ module Mangadex
|
|
74
72
|
|
75
73
|
sig { params(id: String, args: T::Api::Arguments).returns(T::Api::MangaResponse) }
|
76
74
|
def self.view(id, **args)
|
77
|
-
to_a = Mangadex::Internal::Definition.converts(:to_a)
|
78
75
|
Mangadex::Internal::Definition.must(id)
|
79
76
|
|
80
77
|
Mangadex::Internal::Request.get(
|
81
78
|
'/manga/%{id}' % {id: id},
|
82
79
|
Mangadex::Internal::Definition.validate(args, {
|
83
|
-
includes: { accepts: Array, converts: to_a },
|
80
|
+
includes: { accepts: Array, converts: :to_a },
|
84
81
|
})
|
85
82
|
)
|
86
83
|
end
|
@@ -116,13 +113,11 @@ module Mangadex
|
|
116
113
|
|
117
114
|
sig { params(args: T::Api::Arguments).returns(T::Api::MangaResponse) }
|
118
115
|
def self.random(**args)
|
119
|
-
to_a = Mangadex::Internal::Definition.converts(:to_a)
|
120
|
-
|
121
116
|
Mangadex::Internal::Request.get(
|
122
117
|
'/manga/random',
|
123
118
|
Mangadex::Internal::Definition.validate(args, {
|
124
119
|
includes: { accepts: Array },
|
125
|
-
content_rating: { accepts: %w(safe suggestive erotica pornographic), converts: to_a },
|
120
|
+
content_rating: { accepts: %w(safe suggestive erotica pornographic), converts: :to_a },
|
126
121
|
included_tags: { accepts: [String] },
|
127
122
|
included_tags_mode: { accepts: %w(OR AND) },
|
128
123
|
excluded_tags: { accepts: [String] },
|
data/lib/mangadex/report.rb
CHANGED
@@ -8,19 +8,17 @@ module Mangadex
|
|
8
8
|
|
9
9
|
sig { params(args: T::Api::Arguments).returns(Mangadex::Api::Response[Report]) }
|
10
10
|
def self.list(**args)
|
11
|
-
to_a = Mangadex::Internal::Definition.converts(:to_a)
|
12
|
-
|
13
11
|
Mangadex::Internal::Request.get(
|
14
12
|
'/report',
|
15
13
|
Mangadex::Internal::Definition.validate(args, {
|
16
|
-
limit: { accepts: Integer },
|
17
|
-
offset: { accepts: Integer },
|
14
|
+
limit: { accepts: Integer, converts: :to_i },
|
15
|
+
offset: { accepts: Integer, converts: :to_i },
|
18
16
|
category: { accepts: %w(manga chapter scanlation_group user author) },
|
19
17
|
reason_id: { accepts: String },
|
20
18
|
object_id: { accepts: String },
|
21
19
|
status: { accepts: %w(waiting accepted refused autoresolved) },
|
22
20
|
order: { accepts: Hash },
|
23
|
-
includes: { accepts: Array, converts: to_a },
|
21
|
+
includes: { accepts: Array, converts: :to_a },
|
24
22
|
}),
|
25
23
|
auth: true,
|
26
24
|
)
|
@@ -27,8 +27,8 @@ module Mangadex
|
|
27
27
|
Mangadex::Internal::Request.get(
|
28
28
|
'/group',
|
29
29
|
Mangadex::Internal::Definition.validate(args, {
|
30
|
-
limit: { accepts: Integer },
|
31
|
-
offset: { accepts: Integer },
|
30
|
+
limit: { accepts: Integer, converts: :to_i },
|
31
|
+
offset: { accepts: Integer, converts: :to_i },
|
32
32
|
ids: { accepts: [String] },
|
33
33
|
name: { accepts: String },
|
34
34
|
includes: { accepts: [String] },
|
data/lib/mangadex/sorbet.rb
CHANGED
@@ -7,12 +7,14 @@ module T
|
|
7
7
|
Text = T.type_alias { T.any(String, Symbol) }
|
8
8
|
|
9
9
|
Arguments = T.type_alias do
|
10
|
-
T.
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
10
|
+
T.nilable(
|
11
|
+
T.any(
|
12
|
+
Text,
|
13
|
+
T::Array[Text],
|
14
|
+
Integer,
|
15
|
+
T::Hash[Text, Text],
|
16
|
+
Mangadex::ContentRating,
|
17
|
+
)
|
16
18
|
)
|
17
19
|
end
|
18
20
|
MangaResponse = T.type_alias do
|
data/lib/mangadex/statistic.rb
CHANGED
@@ -20,12 +20,10 @@ module Mangadex
|
|
20
20
|
|
21
21
|
sig { params(args: T::Api::Arguments).returns(T::Api::GenericResponse) }
|
22
22
|
def self.list(**args)
|
23
|
-
to_a = Mangadex::Internal::Definition.converts(:to_a)
|
24
|
-
|
25
23
|
Mangadex::Internal::Request.get(
|
26
24
|
'/statistics/manga',
|
27
25
|
Mangadex::Internal::Definition.validate(args, {
|
28
|
-
manga: { accepts: [String], converts: to_a },
|
26
|
+
manga: { accepts: [String], converts: :to_a },
|
29
27
|
})
|
30
28
|
)
|
31
29
|
end
|
data/lib/mangadex/user.rb
CHANGED
@@ -11,8 +11,8 @@ module Mangadex
|
|
11
11
|
Mangadex::Internal::Request.get(
|
12
12
|
'/user',
|
13
13
|
Mangadex::Internal::Definition.validate(args, {
|
14
|
-
limit: { accepts: Integer },
|
15
|
-
offset: { accepts: Integer },
|
14
|
+
limit: { accepts: Integer, converts: :to_i },
|
15
|
+
offset: { accepts: Integer, converts: :to_i },
|
16
16
|
ids: { accepts: Array },
|
17
17
|
username: { accepts: String },
|
18
18
|
order: { accepts: Hash },
|
@@ -89,8 +89,8 @@ module Mangadex
|
|
89
89
|
Mangadex::Internal::Request.get(
|
90
90
|
'/user/follows/group',
|
91
91
|
Mangadex::Internal::Definition.validate(args, {
|
92
|
-
limit: { accepts: Integer },
|
93
|
-
offset: { accepts: Integer },
|
92
|
+
limit: { accepts: Integer, converts: :to_i },
|
93
|
+
offset: { accepts: Integer, converts: :to_i },
|
94
94
|
includes: { accepts: Array },
|
95
95
|
}),
|
96
96
|
auth: true,
|
@@ -117,8 +117,8 @@ module Mangadex
|
|
117
117
|
Mangadex::Internal::Request.get(
|
118
118
|
'/user/follows/user',
|
119
119
|
Mangadex::Internal::Definition.validate(args, {
|
120
|
-
limit: { accepts: Integer },
|
121
|
-
offset: { accepts: Integer },
|
120
|
+
limit: { accepts: Integer, converts: :to_i },
|
121
|
+
offset: { accepts: Integer, converts: :to_i },
|
122
122
|
}),
|
123
123
|
auth: true,
|
124
124
|
)
|
data/lib/mangadex/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mangadex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.7.5
|
4
|
+
version: 5.7.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Akinyele Cafe-Febrissy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: psych
|
@@ -131,6 +131,7 @@ extra_rdoc_files: []
|
|
131
131
|
files:
|
132
132
|
- ".github/dependabot.yml"
|
133
133
|
- ".github/workflows/docker-image.yml"
|
134
|
+
- ".github/workflows/publish-gem.yml"
|
134
135
|
- ".github/workflows/ruby.yml"
|
135
136
|
- ".gitignore"
|
136
137
|
- ".rspec"
|
@@ -245,7 +246,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
245
246
|
- !ruby/object:Gem::Version
|
246
247
|
version: '0'
|
247
248
|
requirements: []
|
248
|
-
rubygems_version: 3.
|
249
|
+
rubygems_version: 3.3.7
|
249
250
|
signing_key:
|
250
251
|
specification_version: 4
|
251
252
|
summary: Your next favourite Ruby gem for interacting with Mangadex.org
|