tmdby 1.2.0 → 1.2.1

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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +10 -0
  3. data/Gemfile +1 -0
  4. data/README.md +7 -7
  5. data/Rakefile +4 -0
  6. data/lib/tmdby/client.rb +1 -1
  7. data/lib/tmdby/version.rb +1 -1
  8. data/lib/tmdby/wrappers/movies.rb +7 -0
  9. data/lib/tmdby.rb +2 -2
  10. data/tests/minitest/wrappers/account_test.rb +1 -1
  11. data/tests/minitest/wrappers/authentication_test.rb +1 -1
  12. data/tests/minitest/wrappers/certifications_test.rb +1 -1
  13. data/tests/minitest/wrappers/changes_test.rb +1 -1
  14. data/tests/minitest/wrappers/collections_test.rb +1 -1
  15. data/tests/minitest/wrappers/companies_test.rb +1 -1
  16. data/tests/minitest/wrappers/credits_test.rb +1 -1
  17. data/tests/minitest/wrappers/discover_test.rb +1 -1
  18. data/tests/minitest/wrappers/find_test.rb +1 -1
  19. data/tests/minitest/wrappers/genres_test.rb +1 -1
  20. data/tests/minitest/wrappers/guest_sessions_test.rb +1 -1
  21. data/tests/minitest/wrappers/jobs_test.rb +1 -1
  22. data/tests/minitest/wrappers/keywords_test.rb +1 -1
  23. data/tests/minitest/wrappers/lists_test.rb +1 -1
  24. data/tests/minitest/wrappers/movies_test.rb +10 -1
  25. data/tests/minitest/wrappers/networks_test.rb +1 -1
  26. data/tests/minitest/wrappers/people_test.rb +1 -1
  27. data/tests/minitest/wrappers/reviews_test.rb +1 -1
  28. data/tests/minitest/wrappers/search_test.rb +1 -1
  29. data/tests/minitest/wrappers/timezones_test.rb +1 -1
  30. data/tests/minitest/wrappers/tv_episodes_test.rb +1 -1
  31. data/tests/minitest/wrappers/tv_seasons_test.rb +1 -1
  32. data/tests/minitest/wrappers/tv_test.rb +1 -1
  33. data/tests/minitest_all.rb +25 -5
  34. metadata +3 -3
  35. data/tests/credentials.rb +0 -7
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8cafd593627bcdb0811bca7facedc10606551962
4
- data.tar.gz: 3954372e98d8c876070ed6ac48dd093d8178b90c
3
+ metadata.gz: eaadf9e83a40752c4e4bbf7e3684dbaff9563d4a
4
+ data.tar.gz: 8c4bb48f8120d3af8ca2894ba28fd1360f58862d
5
5
  SHA512:
6
- metadata.gz: 6c56d877156cc4fc0623f65831f56d4aa70683db53e1efaf4899d3531ff745ca53681e23e89ae563e2272e034dd88f41f32da44c97f4f1fc93c1375416c7696e
7
- data.tar.gz: 3435302160e6ee5cd7643dd66a7428ce2fdeb1d778ca7b272cdf7827c54674af2485e8c6d00eab5c2cba680196f920f2dd04e4693fdea619f59e3751424c87be
6
+ metadata.gz: 3b17a0cad047398dde6ac8717ab6a0c0556e2c6abc1c189b1d641272c5ab88cf0a85e5c14deb32e93d6cae92115988eb44e3e606127c775efb74d91cb66bb08a
7
+ data.tar.gz: 8c6ddda5d3411d4648fb67db4b0b2a1deda9ded5f042b19a5e7da66eb2b2b5dba260a76d26ebc6ceccacdfb7c4316d32ee240fc5df65d0eb770b25060a651252
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.2.4
5
+ - 2.3.0
6
+ env:
7
+ global:
8
+ - secure: vkaEg7UTIiuq8qP8YQkMJUAkZAletIfp+/b0zT+Xw1XpAz7kYlN10gsEQjzrW6C5ijOcWo7Mdvs6l5wSVxBVACi3iSshFR/QxFzz3oh1C12ZCB1kLu54aQ5FZwcRHJA6QC2lWFbKd4rlO7i+XFtUiJ5EUeuWQhMpZKNOLpTTxHV2/x8ejLruAKe3dxcJ3y6FqqtJlwvFokTgMMu1rOk2Iw5ZFb61UqraavwQNHxQLza3Wh7oOpF4d+JMTNljO3IVkuJCuUDfKN8erUKpFbLT/TkgZIiP2k3HHKNCrWbX1ladM2Gw8LB8r50yReEklXloiRkXNggqTF1m/V7kqAzXa4SVJj4yCgPjFoEAERUdeE7RkMk49VcrlOlrbw6X7fRHZ70Ixlag3nPqx/uMjDbrjgHGdGSX6sf2mss9lAt2Y0zQs39jkeYxWK90sIoQa6dNKgngttixjfKAts7rqBiqL4SZceXjga/U0zf7o1HhbhQse8xxDqKONyYMtNs1RCMc6z8RVybFtjtPUUBD1y3nDGLjdCWwmVLhNVuelVokBH3f158TlXOOFSlHXCOIo0vvl1epHGoimVTI6tPr2iQVbpmRG9zPXh/ybGdwZ6VK+vOipzQTqh5cWeSc+MPiJfFdHcQYsrDJnSbLFZs/nPyn1xPFns6chpz8EhLf0eSDe6Y=
9
+ - secure: Ywu96aNhvt1D3tH7Ai3UUjLlg9QY598e1u1GHZ1myIMW3yE/CcpRtp7DmJbKFBY4gn7epg1w6KSkpy4ZAjW+DGV/QjuFqfhQBl9w10SRQxZRuMhPd4LeZbqsRYGo8/6Sk+5FRMA5fwt3UcOB7rlq6h78okgvOCY+vWJebhNmcXASvqeEVS6THNQQWythmG/1WRCarzCOJk97JTA5C75EWP5kDwHdb/4fYWHemWub+4yWJZGgUwh6dxALkQzML4oL+gL4b9mlo3fa13T1jdVNLMIgcx3a4p+L/yf4zmeAeUAyokdUwZfVhb/yC9Qy/e4cXKY4xNj71VREutPrRMtl9d9LAFgxAGjKo4+1yRBenGvdNdz6XQok5KRs2i6XKnY+4xom17eLDWK5DYtniRSULXb+2JyoiqDnaOY4SKn6HwZJ/N9ZNZg+atHJNX2zcjlnu/rZLqlZYZ6918QhVI8/2vUeO14YE3P3sof+0gL8/NXTUB0NJy1Jd7n4zgCRqAfnd/rXea26w0rGRjcz0mOxaX/YQjEXl9Stk2Y06ylXZ13eLy/b9kTaSfykbHcra0JS6aK5NK/Zkculy7yl0nSP7rRtMy8x0qrcD9h2d2ZF6DWut6ONL7lF3CY7qu6UuuwIGQ8b/f2W0v9iSTWDQbAnIbpJt+pF/99cRsOwDhfs/HU=
10
+ - secure: Kc34ByMaEpyKpmmWdR/gIt3p7DckRlTxkHO0lrBf6D98dh8+iFf53Z/jr5KASiwMBn21mc8Fbvmm9dl4gx6FZRSy7lYM6i87mShgxDTvbGK3vPUam8J8LE1g1SHI1oHOSt3bo6SKMvz0cPuyYCL7sqVFenJ0/dvLoRmMqgwBbh8UoOAJQ4ssn53mnOHP+VkVHOZAAQsSuDJn/QnaeqSlpbhYTvRVHFvgTRFK9tXLZ/UT1HS5hiE4hJ5wDDw4TGPmjUZ0MpPH+9R6ZII3dCC9oQSRcdVRnqEEWp9grToh54KN3cxuwZAhK5NlOPXCqjkOMx2CiJfRu3aBtOrAPoQAQ3+hVhFI0NOcYf6hGUSAIoVW/GpN+o2aEPins277QcqDYR0ufMyl5d9N4Tjb8Ewvinzl9R2HX/UV5Nxf46Zjz4h4JO+vqYtLtt0C6Ju69USoqcbSTxMOkx3m3xo9m2vD3xWSX0HfQqV6D2kzAcCtBiV6VWQXQwkdVSf7W2M+cc/cxWIY/KnfXW1zCPffdqwtdukZ3+IWH2rUPSBMtvx77WjQHPQ7FypIZQQfO9LgP7nyZ+/klfUoIUTuPZ/M9T9F9D4zkPB3K74ga5qZPw5MCTVahYF3ZMGGIzhjCmYmsQClSugD3QusFpIWEbnCHZgedguplKd+Q4wFm44nQkl4qzw=
data/Gemfile CHANGED
@@ -2,3 +2,4 @@ source "https://rubygems.org"
2
2
 
3
3
  gem "minitest"
4
4
  gem "rake"
5
+ gem "json"
data/README.md CHANGED
@@ -1,8 +1,9 @@
1
- **work in progress**
2
-
3
1
  TMDBY : a Ruby wrapper for the [TMDB API](http://docs.themoviedb.apiary.io/)
4
2
  ---------------
5
3
 
4
+ [![Gem Version](https://badge.fury.io/rb/tmdby.svg)](https://badge.fury.io/rb/tmdby)
5
+ [![Build Status](https://travis-ci.org/a-legrand/tmdby.svg?branch=master)](https://travis-ci.org/a-legrand/tmdby)
6
+
6
7
  Features
7
8
  --------
8
9
 
@@ -82,12 +83,10 @@ _todo_
82
83
  Running tests
83
84
  -------------
84
85
 
85
- First you have to enter your credentials (_API\_KEY_, _ACCOUNT\_ID_, _USERNAME_ and _PASSWORD_) in _tests/credentials.rb_
86
-
87
- Then you can run the test suite :
86
+ Just call rake with your credentials :
88
87
 
89
88
  ```
90
- % ruby tests/minitest_all.rb
89
+ % TMDB_API_KEY=<your_tmdb_api_key> TMDB_USERNAME=<your_tmdb_username> TMDB_PASSWORD=<your_tmdb_password> rake
91
90
 
92
91
  Run options: --seed 60805
93
92
 
@@ -107,7 +106,8 @@ Changelog
107
106
 
108
107
  [TMDB API updates](https://www.themoviedb.org/documentation/api/updates)
109
108
 
110
- - 2015-10-30 Up-to-date with "Jurrasic World" TMDB API update
109
+ - 2016-01-27 Add movie/id/release_dates api [See blog post](https://medium.com/tmdb-news/multiple-release-dates-per-country-and-by-type-8b2a5bf0630)
110
+ - 2015-10-30 Up-to-date with "Jurassic World" TMDB API update
111
111
 
112
112
 
113
113
  More to come
data/Rakefile CHANGED
@@ -1,2 +1,6 @@
1
1
  require "bundler/gem_tasks"
2
2
 
3
+ task :default => :test
4
+ task :test do
5
+ require './tests/minitest_all.rb'
6
+ end
data/lib/tmdby/client.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require "net/http"
2
2
  require 'uri'
3
- require_relative 'response'
3
+ require File.join(File.dirname(__FILE__), 'response')
4
4
 
5
5
  module Tmdby
6
6
  class Client
data/lib/tmdby/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Tmdby
2
- VERSION = "1.2.0"
2
+ VERSION = "1.2.1"
3
3
  end
@@ -52,6 +52,13 @@ module Tmdby
52
52
  authorized_params: ["append_to_response"]
53
53
  end
54
54
 
55
+ # Get the release dates, certifications and related information by country for a specific movie id.
56
+ def self.release_dates(id, optional_params = {})
57
+ self.fetch "#{id}/release_dates",
58
+ optional_params,
59
+ authorized_params: ["append_to_response"]
60
+ end
61
+
55
62
  # Get the videos (trailers, teasers, clips, etc...) for a specific movie id.
56
63
  def self.videos(id, optional_params = {})
57
64
  self.fetch "#{id}/videos",
data/lib/tmdby.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require "tmdby/version"
2
2
 
3
- require_relative 'tmdby/wrapper'
4
- require_relative 'tmdby/client'
3
+ require File.join(File.dirname(__FILE__), 'tmdby/wrapper')
4
+ require File.join(File.dirname(__FILE__), 'tmdby/client')
5
5
  Dir[File.join(File.dirname(__FILE__), 'tmdby', 'wrappers', '*.rb')].each {|file| require file }
6
6
  Dir[File.join(File.dirname(__FILE__), 'tmdby', 'helpers', '*.rb')].each {|file| require file }
7
7
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestAccount < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestAuthentication < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestCertifications < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestChanges < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestCollections < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestCompanies < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestCredits < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestDiscover < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestFind < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestGenres < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestGuestSessions < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestJobs < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestKeywords < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestLists < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestMovies < MinitestWrapper
4
4
 
@@ -70,6 +70,15 @@ class TestMovies < MinitestWrapper
70
70
  not_empty: "countries"
71
71
  end
72
72
 
73
+ def test_release_dates
74
+ multi_assert @movies.release_dates(550),
75
+ uri: "http://api.themoviedb.org/3/movie/550/release_dates?api_key=#{API_KEY}",
76
+ http_verb: "GET",
77
+ code: "200",
78
+ id: 550,
79
+ not_empty: "results"
80
+ end
81
+
73
82
  def test_videos
74
83
  multi_assert @movies.videos(550),
75
84
  uri: "http://api.themoviedb.org/3/movie/550/videos?api_key=#{API_KEY}",
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestNetworks < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestPeople < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestReviews < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestSearch < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestTimezones < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestTvEpisodes < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestTvSeasons < MinitestWrapper
4
4
 
@@ -1,4 +1,4 @@
1
- require_relative 'minitest_wrapper.rb'
1
+ require File.join(File.dirname(__FILE__), 'minitest_wrapper.rb')
2
2
 
3
3
  class TestTv < MinitestWrapper
4
4
 
@@ -1,13 +1,33 @@
1
1
  $:<< File.expand_path('../../lib', __FILE__)
2
+ require 'tmdby'
2
3
 
3
- require_relative 'credentials'
4
+ # A valid API_KEY is required to run the test suite
5
+ API_KEY = ENV['TMDB_API_KEY']
4
6
 
5
- if not (API_KEY and USERNAME and PASSWORD and ACCOUNT_ID and API_KEY != "")
6
- credentials_file = File.expand_path('credentials.rb', File.dirname(__FILE__))
7
- $stderr.puts "Please configure your credentials in #{credentials_file}"
8
- exit
7
+ # A valid account is required to run the test suite
8
+ USERNAME = ENV['TMDB_USERNAME']
9
+ PASSWORD = ENV['TMDB_PASSWORD']
10
+ ACCOUNT_ID = 0
11
+
12
+ abort "Please configure your credentials as environment variables" unless
13
+ (API_KEY and USERNAME and PASSWORD and ACCOUNT_ID and API_KEY)
14
+
15
+ # Monkey patch the Tmdby::Client class, so we won't reach the api rate limits
16
+ module Tmdby
17
+ class Client
18
+ class << self
19
+ alias_method :real_api_call, :api_call
20
+
21
+ def api_call(*args)
22
+ $current_call = $current_call.to_i + 1
23
+ sleep(10) if $current_call % 40 == 0
24
+ real_api_call(*args)
25
+ end
26
+ end
27
+ end
9
28
  end
10
29
 
11
30
  files = Dir.glob(File.expand_path(File.dirname(__FILE__)) + '/minitest/**/*.rb')
12
31
 
32
+ $current_test = 0;
13
33
  files.each{|file| require file.gsub(/^minitest\/|.rb$/,'')}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tmdby
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aurélien Le Grand
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-30 00:00:00.000000000 Z
11
+ date: 2016-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -60,6 +60,7 @@ extensions: []
60
60
  extra_rdoc_files: []
61
61
  files:
62
62
  - ".gitignore"
63
+ - ".travis.yml"
63
64
  - Gemfile
64
65
  - LICENSE.txt
65
66
  - README.md
@@ -94,7 +95,6 @@ files:
94
95
  - lib/tmdby/wrappers/tv.rb
95
96
  - lib/tmdby/wrappers/tv_episodes.rb
96
97
  - lib/tmdby/wrappers/tv_seasons.rb
97
- - tests/credentials.rb
98
98
  - tests/minitest/client_test.rb
99
99
  - tests/minitest/setup_test.rb
100
100
  - tests/minitest/wrapper_test.rb
data/tests/credentials.rb DELETED
@@ -1,7 +0,0 @@
1
- # A valid API_KEY is required to run the test suite
2
- API_KEY = ""
3
-
4
- # A valid account is required to run the test suite
5
- USERNAME = ""
6
- PASSWORD = ""
7
- ACCOUNT_ID = 0