mangadex 5.3.1 → 5.3.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: c44ce27fcd41e7b08e02892e8f8dae3ca3c47beb3af218fcf5043676bafeb0d4
4
- data.tar.gz: cb15886c9ba01b2534d5b49eb226791c8219255e7a26c8dea1856ff1d3a30999
3
+ metadata.gz: 70cb7894526dbcf74e8911b51fa186c5cfdfd2b206ed80e5c52377040a614b7b
4
+ data.tar.gz: dc1acb66eeec43f0f07a0d0a99d20d762fdac959e0abeb62893c1ec8eeb4266d
5
5
  SHA512:
6
- metadata.gz: c07c3433681344d6d2f1a2f85e99f36e691eac96e3774001fff1c3dc58aed8e0e82c62f640c6d453dce45b2827cd4d1d0347c4f0a515acd57dd258cbf9799c13
7
- data.tar.gz: 63caf26a2274fc5496bb0c62e3d7d3d8f7f179dfeee5ac8749d6cde29afaf24e9a9cbea228c5db3603fc590056252bd7ccb22e3e4b26542a37be737a41910618
6
+ metadata.gz: 515629e3df563f6e4ec848fa45c50e184332d062aff08a6097df51c9870f40a8ff88fac09d918aa7647cd286271c47e1f99032768d99eb211053e363b1a4d1bc
7
+ data.tar.gz: 3aef7d8db275e3aa1337f4c6494a41ce2dfcd30acd1058c5351df86f2e745f478c8175b4aca27655cba8eb4ca3ff2be5b01f7dadd7d61d035d993fbf1b234802
@@ -0,0 +1,36 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Ruby
9
+
10
+ on:
11
+ push:
12
+ branches: [culture]
13
+ pull_request:
14
+ branches: [culture]
15
+
16
+ jobs:
17
+ test:
18
+ runs-on: ubuntu-latest
19
+ strategy:
20
+ matrix:
21
+ ruby-version: ["2.7", "3.0"]
22
+
23
+ steps:
24
+ - uses: actions/checkout@v2
25
+ - name: Set up Ruby
26
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
27
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
28
+ # uses: ruby/setup-ruby@v1
29
+ uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
30
+ with:
31
+ ruby-version: ${{ matrix.ruby-version }}
32
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
33
+ - name: Run tests
34
+ run: bundle exec rspec
35
+ - name: Run sorbet typecheck
36
+ run: bundle exec srb tc
data/.gitignore CHANGED
@@ -9,4 +9,9 @@
9
9
 
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
+
13
+ # Build
14
+ *.gem
15
+
16
+ # Misc
12
17
  .DS_Store
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- mangadex (5.3.1)
4
+ mangadex (5.3.1.3)
5
5
  activesupport (~> 6.1)
6
6
  psych (~> 4.0.1)
7
7
  rest-client (~> 2.1)
@@ -16,11 +16,16 @@ GEM
16
16
  minitest (>= 5.1)
17
17
  tzinfo (~> 2.0)
18
18
  zeitwerk (~> 2.3)
19
+ addressable (2.8.0)
20
+ public_suffix (>= 2.0.2, < 5.0)
19
21
  coderay (1.1.3)
20
22
  concurrent-ruby (1.1.9)
23
+ crack (0.4.5)
24
+ rexml
21
25
  diff-lcs (1.4.4)
22
26
  domain_name (0.5.20190701)
23
27
  unf (>= 0.0.5, < 1.0.0)
28
+ hashdiff (1.0.1)
24
29
  http-accept (1.7.0)
25
30
  http-cookie (1.0.4)
26
31
  domain_name (~> 0.5)
@@ -31,17 +36,30 @@ GEM
31
36
  mime-types-data (~> 3.2015)
32
37
  mime-types-data (3.2021.0901)
33
38
  minitest (5.14.4)
39
+ mustermann (1.1.1)
40
+ ruby2_keywords (~> 0.0.1)
34
41
  netrc (0.11.0)
35
42
  pry (0.14.1)
36
43
  coderay (~> 1.1)
37
44
  method_source (~> 1.0)
38
45
  psych (4.0.1)
39
- rake (10.5.0)
46
+ public_suffix (4.0.6)
47
+ rack (2.2.3)
48
+ rack-protection (2.1.0)
49
+ rack
50
+ rake (13.0.6)
51
+ request_interceptor (1.0.0)
52
+ activesupport (>= 4.0)
53
+ rack
54
+ sinatra
55
+ smart_properties (~> 1.0)
56
+ webmock (~> 3.0)
40
57
  rest-client (2.1.0)
41
58
  http-accept (>= 1.7.0, < 2.0)
42
59
  http-cookie (>= 1.0.2, < 2.0)
43
60
  mime-types (>= 1.16, < 4.0)
44
61
  netrc (~> 0.8)
62
+ rexml (3.2.5)
45
63
  rspec (3.10.0)
46
64
  rspec-core (~> 3.10.0)
47
65
  rspec-expectations (~> 3.10.0)
@@ -55,25 +73,40 @@ GEM
55
73
  diff-lcs (>= 1.2.0, < 2.0)
56
74
  rspec-support (~> 3.10.0)
57
75
  rspec-support (3.10.2)
76
+ ruby2_keywords (0.0.5)
77
+ sinatra (2.1.0)
78
+ mustermann (~> 1.0)
79
+ rack (~> 2.2)
80
+ rack-protection (= 2.1.0)
81
+ tilt (~> 2.0)
82
+ smart_properties (1.16.3)
58
83
  sorbet (0.5.9152)
59
84
  sorbet-static (= 0.5.9152)
60
- sorbet-runtime (0.5.9152)
85
+ sorbet-runtime (0.5.9158)
61
86
  sorbet-static (0.5.9152-universal-darwin-20)
87
+ sorbet-static (0.5.9152-x86_64-linux)
88
+ tilt (2.0.10)
62
89
  tzinfo (2.0.4)
63
90
  concurrent-ruby (~> 1.0)
64
91
  unf (0.1.4)
65
92
  unf_ext
66
93
  unf_ext (0.0.8)
94
+ webmock (3.14.0)
95
+ addressable (>= 2.8.0)
96
+ crack (>= 0.3.2)
97
+ hashdiff (>= 0.4.0, < 2.0.0)
67
98
  zeitwerk (2.4.2)
68
99
 
69
100
  PLATFORMS
70
101
  x86_64-darwin-20
102
+ x86_64-linux
71
103
 
72
104
  DEPENDENCIES
73
105
  bundler (~> 2.2.19)
74
106
  mangadex!
75
107
  pry
76
- rake (~> 10.0)
108
+ rake (~> 13.0)
109
+ request_interceptor (~> 1.0.0)
77
110
  rspec (~> 3.0)
78
111
  sorbet
79
112
 
data/README.md CHANGED
@@ -1,3 +1,5 @@
1
+ [![Ruby](https://github.com/thedrummeraki/mangadex/actions/workflows/ruby.yml/badge.svg)](https://github.com/thedrummeraki/mangadex/actions/workflows/ruby.yml)<a href="https://rubygems.org/gems/mangadex"><img src="https://badgen.net/rubygems/v/mangadex" /></a>
2
+
1
3
  # Mangadex
2
4
 
3
5
  Welcome to `mangadex`, your next favourite Ruby gem for interacting with [Mangadex](https://mangadex.org).
@@ -20,7 +22,7 @@ Or install it yourself as:
20
22
 
21
23
  ## Usage
22
24
 
23
- Please note that I tried my best to follow Mangadex's naming conventions for [their documentation](https://api.mangadex.org).
25
+ Please note that I tried my best to follow Mangadex's naming conventions for [their documentation](https://api.mangadex.org). Track the progress [here in an issue](https://github.com/thedrummeraki/mangadex/issues/5).
24
26
  To find out how to use the gem, you're welcome to [check this out](lib/mangadex).
25
27
 
26
28
  ## Development
@@ -2,50 +2,60 @@
2
2
  module Mangadex
3
3
  module Api
4
4
  class Context
5
+ extend T::Sig
6
+
5
7
  @@user = nil
8
+ @@version = nil
6
9
 
7
- class << self
8
- def user
9
- @@user&.with_valid_session
10
- end
10
+ sig { returns(T.nilable(String)) }
11
+ def self.version
12
+ return @@version unless @@version.nil?
11
13
 
12
- def user=(user)
13
- if user.is_a?(Mangadex::Api::User)
14
- @@user = user
15
- elsif user.is_a?(Mangadex::User)
16
- @@user = Mangadex::Api::User.new(
17
- user.id,
18
- data: user,
19
- )
20
- elsif user.is_a?(Hash)
21
- user = user.with_indifferent_access
22
-
23
- @@user = Mangadex::Api::User.new(
24
- user[:mangadex_user_id],
25
- session: user[:session],
26
- refresh: user[:refresh],
27
- )
28
- elsif user.nil?
29
- @@user = nil
30
- else
31
- raise ArgumentError, "Must be an instance of #{Mangadex::Api::User}, #{Mangadex::User} or Hash"
32
- end
33
- end
14
+ @@version = Mangadex::Api::Version.check_mangadex_version
15
+ end
16
+
17
+ sig { returns(T.nilable(Mangadex::Api::User)) }
18
+ def self.user
19
+ @@user&.with_valid_session
20
+ end
34
21
 
35
- def with_user(user)
36
- current_user = @@user
22
+ sig { params(user: T.nilable(T.any(Hash, Mangadex::Api::User, Mangadex::User))).void }
23
+ def self.user=(user)
24
+ if user.is_a?(Mangadex::Api::User)
37
25
  @@user = user
38
- response = yield
39
- @@user = current_user
40
- response
41
- ensure
42
- @@user = current_user
26
+ elsif user.is_a?(Mangadex::User)
27
+ @@user = Mangadex::Api::User.new(
28
+ user.id,
29
+ data: user,
30
+ )
31
+ elsif user.is_a?(Hash)
32
+ user = user.with_indifferent_access
33
+
34
+ @@user = Mangadex::Api::User.new(
35
+ user[:mangadex_user_id],
36
+ session: user[:session],
37
+ refresh: user[:refresh],
38
+ )
39
+ elsif user.nil?
40
+ @@user = nil
43
41
  end
42
+ end
43
+
44
+ sig { params(user: T.nilable(T.any(Hash, Mangadex::Api::User, Mangadex::User)), block: T.proc.returns(T.untyped)).returns(T.untyped) }
45
+ def self.with_user(user, &block)
46
+ current_user = @@user
47
+ @@user = user
48
+ response = yield
49
+ @@user = current_user
50
+ response
51
+ ensure
52
+ @@user = current_user
53
+ end
44
54
 
45
- def without_user
46
- with_user(nil) do
47
- yield
48
- end
55
+ sig { params(block: T.proc.returns(T.untyped)).returns(T.untyped) }
56
+ def self.without_user(&block)
57
+ with_user(nil) do
58
+ yield
49
59
  end
50
60
  end
51
61
  end
@@ -40,6 +40,10 @@ module Mangadex
40
40
  end
41
41
  end
42
42
 
43
+ def errored?
44
+ Array(errors).any?
45
+ end
46
+
43
47
  private
44
48
 
45
49
  def self.coerce_errors(data)
@@ -95,10 +99,6 @@ module Mangadex
95
99
  ),
96
100
  )
97
101
  end
98
-
99
- def errored?
100
- Array(errors).any?
101
- end
102
102
  end
103
103
  end
104
104
  end
@@ -2,9 +2,12 @@
2
2
  module Mangadex
3
3
  module Api
4
4
  class User
5
+ extend T::Sig
6
+
5
7
  attr_accessor :mangadex_user_id, :session, :refresh, :session_valid_until
6
8
  attr_reader :data
7
9
 
10
+ sig { params(mangadex_user_id: String, session: T.nilable(String), refresh: T.nilable(String), data: T.untyped).void }
8
11
  def initialize(mangadex_user_id, session: nil, refresh: nil, data: nil)
9
12
  raise ArgumentError, 'Missing mangadex_user_id' if mangadex_user_id.to_s.empty?
10
13
 
@@ -15,9 +18,9 @@ module Mangadex
15
18
  @data = data
16
19
  end
17
20
 
18
- # nil: Nothing happened, no need to refresh the token
19
21
  # true: The tokens were successfully refreshed
20
22
  # false: Error: refresh token empty or could not refresh the token on the server
23
+ sig { returns(T::Boolean) }
21
24
  def refresh!
22
25
  return false if refresh.nil?
23
26
 
@@ -33,6 +36,7 @@ module Mangadex
33
36
  true
34
37
  end
35
38
 
39
+ sig { returns(Mangadex::Api::User) }
36
40
  def with_valid_session
37
41
  session_expired? && refresh!
38
42
  self
@@ -40,6 +44,7 @@ module Mangadex
40
44
  self
41
45
  end
42
46
 
47
+ sig { returns(T::Boolean) }
43
48
  def session_expired?
44
49
  @session_valid_until.nil? || @session_valid_until <= Time.now
45
50
  end
@@ -0,0 +1,31 @@
1
+ # typed: true
2
+ require "psych"
3
+
4
+ module Mangadex
5
+ module Api
6
+ class Version
7
+ extend T::Sig
8
+
9
+ sig { returns(T.nilable(String)) }
10
+ def self.check_mangadex_version
11
+ puts("Checking Mangadex's latest API version...")
12
+ version = Psych.load(
13
+ RestClient.get(
14
+ 'https://api.mangadex.org/api.yaml',
15
+ ).body,
16
+ ).dig('info', 'version')
17
+
18
+ if version != Mangadex::Version::STRING
19
+ warn(
20
+ "[Warning] This gem is compatible with #{Mangadex::Version::STRING} but it looks like Mangadex is at #{version}",
21
+ "[Warning] Check out #{Mangadex::Internal::Request::BASE_URI} for more information.",
22
+ )
23
+ end
24
+
25
+ version
26
+ rescue => error
27
+ nil
28
+ end
29
+ end
30
+ end
31
+ end
data/lib/mangadex/api.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # typed: strict
2
- require_relative "api/version"
2
+ require_relative "api/version_checker"
3
3
  require_relative "api/context"
4
4
  require_relative "api/response"
5
5
  require_relative "api/user"
data/lib/mangadex/auth.rb CHANGED
@@ -1,56 +1,60 @@
1
1
  # typed: false
2
2
  module Mangadex
3
3
  class Auth
4
- class << self
5
- def login(username, password)
6
- response = Mangadex::Internal::Request.post(
7
- '/auth/login',
8
- payload: {
9
- username: username,
10
- password: password,
11
- },
12
- )
13
- return response if response.is_a?(Mangadex::Api::Response) && response.errored?
14
-
15
- session = response.dig('token', 'session')
16
- refresh = response.dig('token', 'refresh')
17
-
18
- mangadex_user = Mangadex::Internal::Request.get('/user/me', headers: { Authorization: session })
4
+ extend T::Sig
5
+
6
+ sig { params(username: String, password: String).returns(T.any(T::Boolean, Mangadex::Api::Response)) }
7
+ def self.login(username, password)
8
+ response = Mangadex::Internal::Request.post(
9
+ '/auth/login',
10
+ payload: {
11
+ username: username,
12
+ password: password,
13
+ },
14
+ )
15
+ return response if response.is_a?(Mangadex::Api::Response) && response.errored?
16
+
17
+ session = response.dig('token', 'session')
18
+ refresh = response.dig('token', 'refresh')
19
+
20
+ mangadex_user = Mangadex::Internal::Request.get('/user/me', headers: { Authorization: session })
21
+
22
+ user = Mangadex::Api::User.new(
23
+ mangadex_user.data.id,
24
+ session: session,
25
+ refresh: refresh,
26
+ data: mangadex_user.data,
27
+ )
28
+ Mangadex::Api::Context.user = user
29
+ !user.session_expired?
30
+ end
19
31
 
20
- user = Mangadex::Api::User.new(
21
- mangadex_user.data.id,
22
- session: session,
23
- refresh: refresh,
24
- data: mangadex_user.data,
32
+ sig { returns(Hash) }
33
+ def self.check_token
34
+ JSON.parse(
35
+ Mangadex::Internal::Request.get(
36
+ '/auth/check',
37
+ raw: true,
25
38
  )
26
- Mangadex::Api::Context.user = user
27
- !user.session_expired?
28
- end
29
-
30
- def check_token
31
- JSON.parse(
32
- Mangadex::Internal::Request.get(
33
- '/auth/check',
34
- raw: true,
35
- )
36
- )
37
- end
39
+ )
40
+ end
38
41
 
39
- def logout
40
- return true if Mangadex::Api::Context.user.nil?
42
+ sig { returns(T.any(T::Boolean, Mangadex::Api::Response)) }
43
+ def self.logout
44
+ return true if Mangadex::Api::Context.user.nil?
41
45
 
42
- response = Mangadex::Internal::Request.post(
43
- '/auth/logout',
44
- )
45
- return reponse if response.is_a?(Mangadex::Api::Response) && response.errored?
46
+ response = Mangadex::Internal::Request.post(
47
+ '/auth/logout',
48
+ )
49
+ return reponse if response.is_a?(Mangadex::Api::Response) && response.errored?
46
50
 
47
- Mangadex::Api::Context.user = nil
48
- true
49
- end
51
+ Mangadex::Api::Context.user = nil
52
+ true
53
+ end
50
54
 
51
- def refresh_token
52
- !(Mangadex::Api::Context.user&.refresh!).nil?
53
- end
55
+ sig { returns(T::Boolean) }
56
+ def self.refresh_token
57
+ !(Mangadex::Api::Context.user&.refresh!).nil?
54
58
  end
55
59
  end
56
60
  end
@@ -4,7 +4,24 @@ require_relative 'mangadex_object'
4
4
 
5
5
  module Mangadex
6
6
  class Author < MangadexObject
7
- has_attributes :name, :image_url, :biography, :version, :created_at, :updated_at
7
+ has_attributes \
8
+ :name,
9
+ :image_url,
10
+ :biography,
11
+ :twitter,
12
+ :pixiv,
13
+ :melon_book,
14
+ :fan_box,
15
+ :booth,
16
+ :nicovideo,
17
+ :skeb,
18
+ :fantia,
19
+ :tumblr,
20
+ :youtube,
21
+ :website,
22
+ :version,
23
+ :created_at,
24
+ :updated_at
8
25
 
9
26
  # List all authors.
10
27
  # Path: +GET /author+
@@ -68,7 +68,7 @@ module Mangadex
68
68
  end
69
69
  rescue RestClient::Exception => error
70
70
  if error.response.body
71
- raw ? error.response.body : Mangadex::Api::Response.coerce(JSON.parse(error.response.body))
71
+ raw ? error.response.body : Mangadex::Api::Response.coerce(JSON.parse(error.response.body)) rescue raise error
72
72
  else
73
73
  raise error
74
74
  end
@@ -114,7 +114,7 @@ module Mangadex
114
114
  end
115
115
 
116
116
  sig { params(args: T::Api::Arguments).returns(T::Api::GenericResponse) }
117
- def self.reading_status(**args)
117
+ def self.all_reading_status(**args)
118
118
  Mangadex::Internal::Request.get(
119
119
  '/manga/status',
120
120
  Mangadex::Internal::Definition.validate(args, {
@@ -133,13 +133,6 @@ module Mangadex
133
133
  )
134
134
  end
135
135
 
136
- sig { returns(T::Api::GenericResponse) }
137
- def self.all_reading_status
138
- Mangadex::Internal::Request.get(
139
- '/manga/status',
140
- )
141
- end
142
-
143
136
  sig { params(id: String, status: String).returns(T::Api::GenericResponse) }
144
137
  def self.update_reading_status(id, status)
145
138
  Mangadex::Internal::Request.post(
@@ -3,6 +3,7 @@ module Mangadex
3
3
  class ScanlationGroup < MangadexObject
4
4
  has_attributes \
5
5
  :name,
6
+ :alt_names,
6
7
  :website,
7
8
  :irc_channel,
8
9
  :irc_server,
@@ -1,4 +1,12 @@
1
- # typed: strict
1
+ # typed: false
2
2
  module Mangadex
3
- VERSION = "5.3.1"
3
+ module Version
4
+ MAJOR = "5"
5
+ MINOR = "3"
6
+ TINY = "2"
7
+ PATCH = nil
8
+
9
+ STRING = [MAJOR, MINOR, TINY].compact.join('.')
10
+ FULL = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
11
+ end
4
12
  end
data/mangadex.gemspec CHANGED
@@ -5,7 +5,7 @@ require "mangadex/version"
5
5
 
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "mangadex"
8
- spec.version = Mangadex::VERSION
8
+ spec.version = Mangadex::Version::FULL
9
9
  spec.authors = ["Akinyele Cafe-Febrissy"]
10
10
  spec.email = ["me@akinyele.ca"]
11
11
 
@@ -28,8 +28,9 @@ Gem::Specification.new do |spec|
28
28
  spec.add_dependency "sorbet-runtime"
29
29
 
30
30
  spec.add_development_dependency "bundler", "~> 2.2.19"
31
- spec.add_development_dependency "rake", "~> 10.0"
31
+ spec.add_development_dependency "rake", "~> 13.0"
32
32
  spec.add_development_dependency "rspec", "~> 3.0"
33
+ spec.add_development_dependency "request_interceptor", "~> 1.0.0"
33
34
  spec.add_development_dependency "pry"
34
35
  spec.add_development_dependency "sorbet"
35
36
  end
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.3.1
4
+ version: 5.3.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Akinyele Cafe-Febrissy
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-09-22 00:00:00.000000000 Z
11
+ date: 2021-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: psych
@@ -86,14 +86,14 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: '13.0'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '10.0'
96
+ version: '13.0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '3.0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: request_interceptor
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.0.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.0.0
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: pry
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -136,13 +150,14 @@ dependencies:
136
150
  - - ">="
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0'
139
- description:
153
+ description:
140
154
  email:
141
155
  - me@akinyele.ca
142
156
  executables: []
143
157
  extensions: []
144
158
  extra_rdoc_files: []
145
159
  files:
160
+ - ".github/workflows/ruby.yml"
146
161
  - ".gitignore"
147
162
  - ".rspec"
148
163
  - ".ruby-version"
@@ -162,7 +177,7 @@ files:
162
177
  - lib/mangadex/api/context.rb
163
178
  - lib/mangadex/api/response.rb
164
179
  - lib/mangadex/api/user.rb
165
- - lib/mangadex/api/version.rb
180
+ - lib/mangadex/api/version_checker.rb
166
181
  - lib/mangadex/artist.rb
167
182
  - lib/mangadex/auth.rb
168
183
  - lib/mangadex/author.rb
@@ -221,7 +236,7 @@ homepage: https://github.com/thedrummeraki/mangadex
221
236
  licenses:
222
237
  - MIT
223
238
  metadata: {}
224
- post_install_message:
239
+ post_install_message:
225
240
  rdoc_options: []
226
241
  require_paths:
227
242
  - lib
@@ -237,7 +252,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
237
252
  version: '0'
238
253
  requirements: []
239
254
  rubygems_version: 3.2.15
240
- signing_key:
255
+ signing_key:
241
256
  specification_version: 4
242
257
  summary: Your next favourite Ruby gem for interacting with Mangadex.org
243
258
  test_files: []
@@ -1,21 +0,0 @@
1
- # typed: true
2
- require "psych"
3
-
4
- module Mangadex
5
- module Api
6
- VERSION = -> do
7
- version = Psych.load(
8
- RestClient.get(
9
- 'https://api.mangadex.org/api.yaml',
10
- ).body,
11
- ).dig('info', 'version')
12
-
13
- if version != Mangadex::VERSION
14
- warn(
15
- "[Warning] This gem is compatible with #{Mangadex::VERSION} but it looks like Mangadex is at #{version}",
16
- "[Warning] Check out #{Mangadex::Internal::Request::BASE_URI} for more information.",
17
- )
18
- end
19
- end.call
20
- end
21
- end