tvdb_api 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tvdb_api/tvdb_api.rb +17 -9
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 557d82e24d7529f111bd06a4987826c497d3464106c52710e5da7d05a4236548
4
- data.tar.gz: 051dc2d2e141b7cc5ce6e3eae50fe310524a205e1dbc76a323fff2944325e51c
3
+ metadata.gz: 402227651d6c8eecf6d25cb584964617757756e10cff4b761ca5ca7eb09b24ad
4
+ data.tar.gz: 93df34fb76e1ad84da1df20ef44be6ad5389221c198b3e8b1248ec981e9ce357
5
5
  SHA512:
6
- metadata.gz: a6cfa28707cc00bf70401373c4673ae2ea99596b7cb298ec0ffd4ab26ad90966e87b382da5b05619c2c63f777b8e6a92ed3c1651df59ae6ea825862c2d38f265
7
- data.tar.gz: 828db2808b27cc5e118c3619208c3aa6ec65f18433a6fce6c82482c5ee6696a5eff7009e00387364c93c51c46d8be6561c5b5d3e86f70af7f07e14a26e623781
6
+ metadata.gz: 59e56d47f4bb23a0fc153aad45cca9ec14f9b861e2cf991eabd7f883832f93b6c2c1a40d8d57a5d09e783ac6f764acc405d9b8f7eaf9f01f03a2f6115abde27c
7
+ data.tar.gz: a0552579e4c5f6c1c94c6ee850011b2665af3349f384cacc3ec73832fcd8b876aad06d3c13891b348c9bf125bfe041efc18567117960f0fe716ce4af86e4f515
@@ -5,10 +5,12 @@ require 'json'
5
5
  require_relative 'tvdb_api_middleware'
6
6
 
7
7
  class TVDBApi
8
-
9
8
  BASE_URL = 'https://api4.thetvdb.com'
10
9
  ENDPOINTS = {
11
10
  search: '/v4/search',
11
+ movie: '/v4/movies/%{id}/extended',
12
+ series: '/v4/series/%{id}/extended',
13
+ person: '/v4/people/%{id}/extended'
12
14
  }
13
15
 
14
16
  def initialize
@@ -23,19 +25,23 @@ class TVDBApi
23
25
  end
24
26
 
25
27
  def search(query)
26
- request_endpoint(:search, { query: query })
28
+ request_endpoint(:search, query: query)
29
+ end
30
+
31
+ def search_by_type(query, type)
32
+ request_endpoint(:search, query: query, type: type)
27
33
  end
28
34
 
29
- def search_people(query)
30
- request_endpoint(:search, { query: query, type: 'person' })
35
+ def movie(id)
36
+ request_endpoint(:movie, id: id)
31
37
  end
32
38
 
33
- def search_series(query)
34
- request_endpoint(:search, { query: query, type: 'series' })
39
+ def series(id)
40
+ request_endpoint(:series, id: id)
35
41
  end
36
42
 
37
- def search_movies(query)
38
- request_endpoint(:search, { query: query, type: 'movie' })
43
+ def person(id)
44
+ request_endpoint(:person, id: id)
39
45
  end
40
46
 
41
47
  private
@@ -44,9 +50,11 @@ class TVDBApi
44
50
  url = ENDPOINTS[endpoint_key]
45
51
  raise "Invalid endpoint key: #{endpoint_key}" unless url
46
52
 
53
+ url = url % params if url.include?('%{')
54
+
47
55
  response = @conn.get do |req|
48
56
  req.url url
49
- req.params = params
57
+ req.params = params.reject { |k, _| url.include?("%{#{k}}") }
50
58
  end
51
59
 
52
60
  JSON.parse(response.body)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tvdb_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen McCullough
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-09-17 00:00:00.000000000 Z
11
+ date: 2023-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday