mangadex 5.7.5 → 5.7.5.2

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: 16387ee156618cba16f7f1a730c94a8e6856dd379886cf7ef0124826efe010c5
4
- data.tar.gz: f5edff601db0ccef8580a3b108a0a79b123e427c64607317b05cdcba6cc460fc
3
+ metadata.gz: 534eb32f3c781613856ba8014c49eed88d4afccf214e6cab713b190a2c66b183
4
+ data.tar.gz: 29033cae0bd89f71a0e995cc4d0a1e2b5b1f1e643f1ad225c0612d08bf180b0e
5
5
  SHA512:
6
- metadata.gz: 10affdcc160415a2a38187ef0518011d2982364d1df79a02e0253df05a4aacefc1b489895cf0b81b39d1c172ce0632b9432869f65103962308cc080c70693166
7
- data.tar.gz: e2eaa50eaed120768286a3c76f55f27ee43d258b7d445891c0ff941c5bf5364f468b3e171607d04542840b28ef729fdfbca7a823865cff95ea8d6cbf61f3cd72
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.6.0.1)
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.10526)
49
- sorbet-static (= 0.5.10526)
50
- sorbet-runtime (0.5.10520)
51
- sorbet-static (0.5.10526-x86_64-linux)
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
- JSON.parse(
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)) }
@@ -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
  )
@@ -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] },
@@ -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: converts(:to_a) },
123
- chapter: { accepts: [String], converts: converts(:to_a) },
124
- translated_language: { accepts: [String], converts: converts(:to_a) },
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: converts(:to_a) },
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
@@ -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] },
@@ -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] },
@@ -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.any(
11
- Text,
12
- T::Array[Text],
13
- Integer,
14
- T::Hash[Text, Text],
15
- Mangadex::ContentRating,
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
@@ -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
  )
@@ -4,7 +4,7 @@ module Mangadex
4
4
  MAJOR = "5"
5
5
  MINOR = "7"
6
6
  TINY = "5"
7
- PATCH = nil
7
+ PATCH = "2"
8
8
 
9
9
  STRING = [MAJOR, MINOR, TINY].compact.join('.')
10
10
  FULL = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
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-03 00:00:00.000000000 Z
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.2.15
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