tomato_power 0.0.7 → 0.0.8
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.
- data/README.md +11 -0
- data/lib/tomato_power/api/api.rb +5 -6
- data/lib/tomato_power/api/api_service.rb +1 -1
- data/lib/tomato_power/client.rb +2 -2
- data/lib/tomato_power/helpers/helpers.rb +0 -2
- data/lib/tomato_power/helpers/parsers.rb +1 -1
- data/lib/tomato_power/movie/movie.rb +5 -5
- data/lib/tomato_power/version.rb +1 -1
- data/tomato_power.gemspec +1 -1
- metadata +2 -2
data/README.md
CHANGED
@@ -25,6 +25,8 @@ Create a `TomatoPower::Client`.
|
|
25
25
|
|
26
26
|
## Examples
|
27
27
|
|
28
|
+
Check out the [Wiki](https://github.com/seankay/tomato_power/wiki) for more details.
|
29
|
+
|
28
30
|
Search for a movie by title or IMDB id.
|
29
31
|
|
30
32
|
>> movies = client.search_by_title("The Dark Knight")
|
@@ -57,6 +59,15 @@ Get posters of a movie:
|
|
57
59
|
|
58
60
|
>> posters = movie.posters.thumbnail
|
59
61
|
=> "http://content6.flixster.com/movie/11/16/51/11165160_mob.jpg"
|
62
|
+
|
63
|
+
Get reviews of a movie:
|
64
|
+
|
65
|
+
>> reviews = movie.reviews
|
66
|
+
>> reviews[0].freshness
|
67
|
+
=> "fresh"
|
68
|
+
>> reviews[0].quote
|
69
|
+
=> "Christopher Nolan is much, much smarter than your average filmmaker."
|
70
|
+
|
60
71
|
## Contributing
|
61
72
|
|
62
73
|
1. Fork it
|
data/lib/tomato_power/api/api.rb
CHANGED
@@ -2,19 +2,18 @@ require 'active_support/core_ext/hash'
|
|
2
2
|
require 'open-uri'
|
3
3
|
|
4
4
|
module TomatoPower
|
5
|
-
#
|
5
|
+
# API class to interface with Client
|
6
6
|
#
|
7
|
-
# Handles all API calls
|
8
7
|
class API
|
9
8
|
|
10
9
|
def initialize api_key
|
11
10
|
@api_key = api_key
|
12
11
|
end
|
13
12
|
|
14
|
-
#Defines methods that are in TOMATO_METHODS
|
13
|
+
#Defines methods that are in TOMATO_METHODS
|
15
14
|
#
|
16
|
-
#@param method
|
17
|
-
#@param options [Hash]
|
15
|
+
#@param method [Symbol] method to be created.
|
16
|
+
#@param options [Hash] options for function call.
|
18
17
|
#@note TOMATO_METHODS is a hash containing all of the Rotten Tomatoes API calls.
|
19
18
|
def method_missing method, options={}
|
20
19
|
if TOMATO_METHODS.key?(method)
|
@@ -28,7 +27,7 @@ module TomatoPower
|
|
28
27
|
end
|
29
28
|
|
30
29
|
# Whether or not this class responds to a function.
|
31
|
-
#
|
30
|
+
#
|
32
31
|
# @param method method in question.
|
33
32
|
# @return [true, false]
|
34
33
|
def respond_to? method
|
@@ -15,7 +15,7 @@ module TomatoPower
|
|
15
15
|
#
|
16
16
|
#@param endpoint [String] API url.
|
17
17
|
#@param api_key [String] Client API key
|
18
|
-
#@param options [Hash]
|
18
|
+
#@param options [Hash] options for the API call
|
19
19
|
#@return (see #parse)
|
20
20
|
def self.fetch endpoint, api_key, options={}
|
21
21
|
tomato = get api_url(endpoint, api_key, options)
|
data/lib/tomato_power/client.rb
CHANGED
@@ -28,7 +28,7 @@ module TomatoPower
|
|
28
28
|
#
|
29
29
|
# @param movie_title [String] The movie title to search for
|
30
30
|
# @param options [Hash] An optional hash for passing options to the API.
|
31
|
-
# @note See {http://developer.rottentomatoes.com/ Rotten Tomatoes API} possible options.
|
31
|
+
# @note See {http://developer.rottentomatoes.com/ Rotten Tomatoes API} for possible options.
|
32
32
|
def search_by_title(movie_title, options={})
|
33
33
|
options[:q] = movie_title
|
34
34
|
@api.movies_search(options)
|
@@ -39,7 +39,7 @@ module TomatoPower
|
|
39
39
|
# @param movie_id [String] movie's id
|
40
40
|
def search_by_id(movie_id)
|
41
41
|
options = {}
|
42
|
-
options[:type] = 'imdb'
|
42
|
+
options[:type] = 'imdb'
|
43
43
|
options[:id] = movie_id
|
44
44
|
@api.movie_alias(options)
|
45
45
|
end
|
@@ -4,7 +4,7 @@ module TomatoPower
|
|
4
4
|
#Parses a json object into a Tomato Power object.
|
5
5
|
#
|
6
6
|
#@param json [JSON] json object from API call response
|
7
|
-
#@return payload [Array] array of parsed
|
7
|
+
#@return payload [Array] array of parsed TomatoPower objects
|
8
8
|
def self.parse json
|
9
9
|
payload =[]
|
10
10
|
if json["movies"]
|
@@ -4,7 +4,7 @@ module TomatoPower
|
|
4
4
|
|
5
5
|
attr_reader :id, :info, :title, :ratings, :mpaa_rating,
|
6
6
|
:runtime,:release_dates, :synopsis, :alternate_ids, :links,
|
7
|
-
:studio, :
|
7
|
+
:studio, :directors
|
8
8
|
|
9
9
|
def initialize movie={}
|
10
10
|
@api = TomatoPower::api
|
@@ -21,7 +21,7 @@ module TomatoPower
|
|
21
21
|
@abridged_cast = movie["abridged_cast"]
|
22
22
|
@alternate_ids = movie["alternate_ids"]
|
23
23
|
@links = movie["links"]
|
24
|
-
@
|
24
|
+
@directors = movie["abridged_directors"]
|
25
25
|
@studio = movie["studio"]
|
26
26
|
end
|
27
27
|
|
@@ -37,14 +37,14 @@ module TomatoPower
|
|
37
37
|
# Poster for a movie
|
38
38
|
# @return poster links
|
39
39
|
def posters
|
40
|
-
|
40
|
+
@poster_links ||= TomatoPower::Parser::parse_posters @posters
|
41
41
|
end
|
42
42
|
|
43
43
|
# cast from a movie
|
44
44
|
#
|
45
45
|
# @note this returns the abridged cast.
|
46
46
|
def cast
|
47
|
-
actors ||= TomatoPower::Parser::parse_cast @abridged_cast
|
47
|
+
@actors ||= TomatoPower::Parser::parse_cast @abridged_cast
|
48
48
|
end
|
49
49
|
|
50
50
|
def method_missing method, options={}
|
@@ -60,7 +60,7 @@ module TomatoPower
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def respond_to? method
|
63
|
-
if MOVIE_METHOD_ALIAS.
|
63
|
+
if MOVIE_METHOD_ALIAS.key? method
|
64
64
|
true
|
65
65
|
else
|
66
66
|
super
|
data/lib/tomato_power/version.rb
CHANGED
data/tomato_power.gemspec
CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |gem|
|
|
10
10
|
gem.email = ["f.sean.kay@gmail.com\n"]
|
11
11
|
gem.description = %q{RottenTomatoes API wrapper}
|
12
12
|
gem.summary = %q{Easily access Rotten Tomatoes API methods}
|
13
|
-
gem.homepage = ""
|
13
|
+
gem.homepage = "https://github.com/seankay/tomato_power"
|
14
14
|
|
15
15
|
gem.add_dependency "active_support"
|
16
16
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tomato_power
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -194,7 +194,7 @@ files:
|
|
194
194
|
- spec/unit_specs/movie/review_spec.rb
|
195
195
|
- spec/unit_specs/tomato_power_spec.rb
|
196
196
|
- tomato_power.gemspec
|
197
|
-
homepage:
|
197
|
+
homepage: https://github.com/seankay/tomato_power
|
198
198
|
licenses: []
|
199
199
|
post_install_message:
|
200
200
|
rdoc_options: []
|