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 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