memo_tomato 0.0.1 → 0.0.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.
data/.gitignore CHANGED
@@ -1,4 +1,5 @@
1
1
  *.gem
2
2
  .bundle
3
+ .redcar
3
4
  Gemfile.lock
4
5
  pkg/*
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
@@ -9,7 +9,7 @@ module MemoTomato
9
9
  parse_content @content
10
10
  end
11
11
 
12
- def parse_movie(movie)
12
+ def parse_entry(movie)
13
13
  MemoTomato::Movie.new(
14
14
  :id => movie.id,
15
15
  :title => movie.title,
@@ -20,28 +20,24 @@ module MemoTomato
20
20
  :synopsis => movie.synopsis,
21
21
  :image => movie.posters.detailed,
22
22
  :studio => movie.studio,
23
- :cast =>
24
- movie.abridged_cast.collect do |actor|
23
+ :cast =>
24
+ Array(movie.abridged_cast).collect do |actor|
25
25
  MemoTomato::Actor.new(
26
26
  :name => actor.name,
27
27
  :characters => actor.characters
28
28
  )
29
29
  end,
30
- :directors =>
31
- unless movie.abridged_directors == nil
32
- movie.abridged_directors.collect do |director|
33
- MemoTomato::Director.new(
34
- :name => director.name
35
- )
36
- end
30
+ :directors =>
31
+ Array(movie.abridged_directors).collect do |director|
32
+ MemoTomato::Director.new(
33
+ :name => director.name
34
+ )
37
35
  end,
38
- :genres =>
39
- unless movie.genres == nil
40
- movie.genres.collect do |genre|
41
- MemoTomato::Genre.new(
42
- :type => genre
43
- )
44
- end
36
+ :genres =>
37
+ Array(movie.genres).collect do |genre|
38
+ MemoTomato::Genre.new(
39
+ :type => genre
40
+ )
45
41
  end
46
42
  )
47
43
  end
@@ -5,7 +5,7 @@ module MemoTomato
5
5
  parsed_response = MultiJson.decode(content.body)
6
6
  parsed_response = Hashie::Mash.new(parsed_response)
7
7
 
8
- parse_movie(parsed_response)
8
+ parse_entry(parsed_response)
9
9
  end
10
10
 
11
11
  end
@@ -7,7 +7,7 @@ module MemoTomato
7
7
 
8
8
  # In our case we want the first 30 movies
9
9
  parsed_response.movies.collect do |movie|
10
- parse_movie(movie)
10
+ parse_entry(movie)
11
11
  end
12
12
  end
13
13
  end
@@ -6,7 +6,7 @@ module MemoTomato
6
6
  parsed_response = Hashie::Mash.new(parsed_response)
7
7
 
8
8
  parsed_response.movies.collect do |movie|
9
- parse_movie(movie)
9
+ parse_entry(movie)
10
10
  end
11
11
  end
12
12
  end
@@ -6,7 +6,7 @@ module MemoTomato
6
6
  parsed_response = Hashie::Mash.new(parsed_response)
7
7
 
8
8
  parsed_response.movies.collect do |movie|
9
- parse_movie(movie)
9
+ parse_entry(movie)
10
10
  end
11
11
  end
12
12
  end
@@ -1,3 +1,3 @@
1
1
  module MemoTomato
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -1,14 +1,22 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + "/../../spec_helper")
2
+ require 'pry'
2
3
 
3
4
  describe MemoTomato::Parser::MovieInfo do
4
5
  let(:client) { MemoTomato::Client.new(:apikey => "abcd1234") }
5
6
 
6
7
  it 'should be awesome' do
7
8
  mock_api :get, 'movies/770672122' , 'movies/770672122', :params => client.params do
8
- m = client.movie_info("770672122")
9
- m.id.should == 770672122
10
- m.directors.first.name.should == "Lee Unkrich"
11
- m.genres.first.type.should == "Animation"
9
+ movie = client.movie_info("770672122")
10
+ movie.id.should == 770672122
11
+ movie.directors.first.name.should == "Lee Unkrich"
12
+ movie.genres.first.type.should == "Animation"
13
+ end
14
+ end
15
+
16
+ it 'should handle missing attributes like director' do
17
+ mock_api :get, 'movies/770885199' , 'movies/770885199', :params => client.params do
18
+ movie = client.movie_info("770885199")
19
+ movie.directors.should == []
12
20
  end
13
21
  end
14
22
  end
@@ -0,0 +1,40 @@
1
+ {
2
+ "id": 770885199,
3
+ "title": "Monty Python Meets Beyond the Fringe",
4
+ "year": "",
5
+ "genres": [
6
+ "Comedy"
7
+ ],
8
+ "mpaa_rating": "Unrated",
9
+ "runtime": 85,
10
+ "release_dates": {},
11
+ "ratings": {
12
+ "critics_score": -1,
13
+ "audience_score": 100
14
+ },
15
+ "synopsis": "",
16
+ "posters": {
17
+ "thumbnail": "http://images.rottentomatoescdn.com/images/redesign/poster_default.gif",
18
+ "profile": "http://images.rottentomatoescdn.com/images/redesign/poster_default.gif",
19
+ "detailed": "http://images.rottentomatoescdn.com/images/redesign/poster_default.gif",
20
+ "original": "http://images.rottentomatoescdn.com/images/redesign/poster_default.gif"
21
+ },
22
+ "abridged_cast": [
23
+ {
24
+ "name": "Monty Python Cast",
25
+ "id": "770882204"
26
+ },
27
+ {
28
+ "name": "Beyond The Fringe Cast",
29
+ "id": "770882205"
30
+ }
31
+ ],
32
+ "links": {
33
+ "self": "http://api.rottentomatoes.com/api/public/v1.0/movies/770885199.json",
34
+ "alternate": "http://www.rottentomatoes.com/m/monty_python_meets_beyond_the_fringe/",
35
+ "cast": "http://api.rottentomatoes.com/api/public/v1.0/movies/770885199/cast.json",
36
+ "clips": "http://api.rottentomatoes.com/api/public/v1.0/movies/770885199/clips.json",
37
+ "reviews": "http://api.rottentomatoes.com/api/public/v1.0/movies/770885199/reviews.json",
38
+ "similar": "http://api.rottentomatoes.com/api/public/v1.0/movies/770885199/similar.json"
39
+ }
40
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: memo_tomato
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,12 +10,12 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2012-03-08 00:00:00.000000000 +02:00
13
+ date: 2012-03-14 00:00:00.000000000 +02:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: multi_json
18
- requirement: &83055000 !ruby/object:Gem::Requirement
18
+ requirement: &10456680 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ~>
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: '1.0'
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *83055000
26
+ version_requirements: *10456680
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: httpclient
29
- requirement: &83054750 !ruby/object:Gem::Requirement
29
+ requirement: &10506980 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: 2.2.0.2
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *83054750
37
+ version_requirements: *10506980
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: hashie
40
- requirement: &83054520 !ruby/object:Gem::Requirement
40
+ requirement: &10506520 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: 1.1.0
46
46
  type: :runtime
47
47
  prerelease: false
48
- version_requirements: *83054520
48
+ version_requirements: *10506520
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: pry
51
- requirement: &83054290 !ruby/object:Gem::Requirement
51
+ requirement: &10506060 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ! '>='
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: 0.9.8.4
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *83054290
59
+ version_requirements: *10506060
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: rake
62
- requirement: &83054060 !ruby/object:Gem::Requirement
62
+ requirement: &10505600 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: 0.8.7
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *83054060
70
+ version_requirements: *10505600
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: rspec
73
- requirement: &83053830 !ruby/object:Gem::Requirement
73
+ requirement: &10505140 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,10 +78,10 @@ dependencies:
78
78
  version: '2'
79
79
  type: :development
80
80
  prerelease: false
81
- version_requirements: *83053830
81
+ version_requirements: *10505140
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: webmock
84
- requirement: &83053600 !ruby/object:Gem::Requirement
84
+ requirement: &10504680 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ! '>='
@@ -89,10 +89,10 @@ dependencies:
89
89
  version: 1.6.2
90
90
  type: :development
91
91
  prerelease: false
92
- version_requirements: *83053600
92
+ version_requirements: *10504680
93
93
  - !ruby/object:Gem::Dependency
94
94
  name: timecop
95
- requirement: &83053370 !ruby/object:Gem::Requirement
95
+ requirement: &10504220 !ruby/object:Gem::Requirement
96
96
  none: false
97
97
  requirements:
98
98
  - - ! '>='
@@ -100,7 +100,7 @@ dependencies:
100
100
  version: 0.3.5
101
101
  type: :development
102
102
  prerelease: false
103
- version_requirements: *83053370
103
+ version_requirements: *10504220
104
104
  description: https://github.com/appsbakery/memo_tomato
105
105
  email:
106
106
  - tagrudev@gmail.com
@@ -110,6 +110,7 @@ extensions: []
110
110
  extra_rdoc_files: []
111
111
  files:
112
112
  - .gitignore
113
+ - .rspec
113
114
  - Gemfile
114
115
  - README.md
115
116
  - Rakefile
@@ -138,6 +139,7 @@ files:
138
139
  - spec/mock_json/movies.json
139
140
  - spec/mock_json/movies/770672122.json
140
141
  - spec/mock_json/movies/770672122/similar.json
142
+ - spec/mock_json/movies/770885199.json
141
143
  - spec/spec_helper.rb
142
144
  has_rdoc: true
143
145
  homepage: http://www.appsbakery.eu