simpsons_world 0.1.0

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 (46) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +16 -0
  3. data/Gemfile +4 -0
  4. data/Guardfile +77 -0
  5. data/LICENSE +22 -0
  6. data/README.md +41 -0
  7. data/Rakefile +14 -0
  8. data/lib/data/.gitkeep +0 -0
  9. data/lib/data/season-1.yml +69 -0
  10. data/lib/data/season-10.yml +116 -0
  11. data/lib/data/season-11.yml +114 -0
  12. data/lib/data/season-12.yml +114 -0
  13. data/lib/data/season-13.yml +120 -0
  14. data/lib/data/season-14.yml +129 -0
  15. data/lib/data/season-15.yml +125 -0
  16. data/lib/data/season-16.yml +118 -0
  17. data/lib/data/season-17.yml +121 -0
  18. data/lib/data/season-18.yml +123 -0
  19. data/lib/data/season-19.yml +112 -0
  20. data/lib/data/season-2.yml +113 -0
  21. data/lib/data/season-20.yml +106 -0
  22. data/lib/data/season-21.yml +126 -0
  23. data/lib/data/season-22.yml +122 -0
  24. data/lib/data/season-23.yml +117 -0
  25. data/lib/data/season-24.yml +115 -0
  26. data/lib/data/season-25.yml +126 -0
  27. data/lib/data/season-26.yml +49 -0
  28. data/lib/data/season-3.yml +125 -0
  29. data/lib/data/season-4.yml +112 -0
  30. data/lib/data/season-5.yml +107 -0
  31. data/lib/data/season-6.yml +123 -0
  32. data/lib/data/season-7.yml +124 -0
  33. data/lib/data/season-8.yml +128 -0
  34. data/lib/data/season-9.yml +123 -0
  35. data/lib/simpsons_world/railtie.rb +9 -0
  36. data/lib/simpsons_world/scrape.rb +28 -0
  37. data/lib/simpsons_world/season.rb +36 -0
  38. data/lib/simpsons_world/version.rb +3 -0
  39. data/lib/simpsons_world/view_helpers.rb +12 -0
  40. data/lib/simpsons_world.rb +13 -0
  41. data/simpsons_world.gemspec +28 -0
  42. data/spec/data/.gitkeep +0 -0
  43. data/spec/simpsons_world_spec.rb +125 -0
  44. data/spec/spec_helper.rb +4 -0
  45. data/spec/support/helpers.rb +9 -0
  46. metadata +191 -0
@@ -0,0 +1,123 @@
1
+ ---
2
+ - 9
3
+ - 1:
4
+ :title: The City of New York vs. Homer Simpson
5
+ :description: The Simpsons journey to New York City to retrieve the family car.
6
+ :url: "/video/279160899882"
7
+ 2:
8
+ :title: The Principal and the Pauper
9
+ :description: A stranger claims that Principal Skinner is an impostor.
10
+ :url: "/video/279164995863"
11
+ 3:
12
+ :title: Lisa's Sax
13
+ :description: Homer and Marge recount how Lisa got her saxophone.
14
+ :url: "/video/279743555749"
15
+ 4:
16
+ :title: Treehouse of Horror VIII
17
+ :description: Homer battles killer mutants after Springfield is destroyed by a
18
+ nuclear blast; a matter- transportation device melds Bart with a housefly; in
19
+ Colonial times, Marge is accused of being a witch.
20
+ :url: "/video/279170627965"
21
+ 5:
22
+ :title: The Cartridge Family
23
+ :description: Homer purchases a handgun to protect his family.
24
+ :url: "/video/302813251779"
25
+ 6:
26
+ :title: Bart Star
27
+ :description: Homer becomes coach of the Springfield Pee Wee Football team and
28
+ appoints Bart as starting quarterback.
29
+ :url: "/video/277030979963"
30
+ 7:
31
+ :title: The Two Mrs. Nahasapeemapetilons
32
+ :description: In an effort to annul an arranged marriage, Apu tells his mother
33
+ he wed Marge.
34
+ :url: "/video/279177283545"
35
+ 8:
36
+ :title: Lisa the Skeptic
37
+ :description: Townspeople believe Lisa has unearthed the fossilized remains of
38
+ an angel.
39
+ :url: "/video/279180355540"
40
+ 9:
41
+ :title: Realty Bites
42
+ :description: Marge gets a job with a realty firm, but her honesty costs her lucrative
43
+ sales. Homer purchases a 60s hot-rod convertible at a police auction.
44
+ :url: "/video/280404547525"
45
+ 10:
46
+ :title: Miracle on Evergreen Terrace
47
+ :description: People throughout Springfield open their hearts and wallets after
48
+ Bart claims the family's Christmas presents were stolen by a burglar.
49
+ :url: "/video/306881091696"
50
+ 11:
51
+ :title: All Singing, All Dancing
52
+ :description: The Simpsons recall their many musical moments from seasons past.
53
+ :url: "/video/294808131518"
54
+ 12:
55
+ :title: Bart Carny
56
+ :description: A carnival worker and his son move in with the Simpsons after Homer
57
+ costs them their jobs.
58
+ :url: "/video/302818371931"
59
+ 13:
60
+ :title: The Joy of Sect
61
+ :description: Marge tries her hand at deprogramming after her family is brainwashed
62
+ by a religious cult.
63
+ :url: "/video/299627075941"
64
+ 14:
65
+ :title: Das Bus
66
+ :description: Bart, Lisa and their classmates fight for survival when they become
67
+ stranded on a remote island. Homer starts his own business on the Internet.
68
+ :url: "/video/307093571584"
69
+ 15:
70
+ :title: The Last Temptation of Krust
71
+ :description: Krusty shuns his old routines in favor of edgier material and suddenly
72
+ becomes the hottest comic in show business.
73
+ :url: "/video/294812739638"
74
+ 16:
75
+ :title: Dumbbell Indemnity
76
+ :description: When Moe goes broke romancing his new love, he enlists Homer in
77
+ a scheme to collect on an insurance policy.
78
+ :url: "/video/283910211639"
79
+ 17:
80
+ :title: Lisa the Simpson
81
+ :description: Lisa fears she is genetically predisposed to lose her intelligence.
82
+ Apu uses a frozen Jasper as a tourist attraction.
83
+ :url: "/video/299651139676"
84
+ 18:
85
+ :title: This Little Wiggy
86
+ :description: Bart is appalled when Marge pairs him with Ralph Wiggum.
87
+ :url: "/video/299639875678"
88
+ 19:
89
+ :title: Simpson Tide
90
+ :description: Homer becomes the captain of a Navy submarine. Bart gets his ear
91
+ pierced.
92
+ :url: "/video/302809667837"
93
+ 20:
94
+ :title: The Trouble with Trillions
95
+ :description: When a tax audit lands him in hot water, Homer goes undercover for
96
+ the government and attempts to retrieve a trillion dollar note from Mr. Burns.
97
+ :url: "/video/299644483816"
98
+ 21:
99
+ :title: Girly Edition
100
+ :description: Bart attempts to upstage Lisa when the pair co-host a children's
101
+ news program. Homer obtains a helper monkey.
102
+ :url: "/video/299672131928"
103
+ 22:
104
+ :title: Trash of the Titans
105
+ :description: Homer enters the race for Sanitation Commissioner after garbage
106
+ men refuse to collect his trash.
107
+ :url: "/video/307101763818"
108
+ 23:
109
+ :title: King of the Hill
110
+ :description: After improving his physique, Homer attempts to climb a treacherous
111
+ mountain.
112
+ :url: "/video/283916867598"
113
+ 24:
114
+ :title: Lost Our Lisa
115
+ :description: Lisa gets lost in an unfamiliar part of town while searching for
116
+ a museum. Bart adheres novelties to his face only to discover they cannot be
117
+ removed.
118
+ :url: "/video/288133187527"
119
+ 25:
120
+ :title: Natural Born Kissers
121
+ :description: Homer and Marge discover the secret to reigniting their sex life.
122
+ Bart and Lisa hunt for hidden treasure using Grampa's old mine sweeper.
123
+ :url: "/video/307099715600"
@@ -0,0 +1,9 @@
1
+ require 'simpsons_world/view_helpers'
2
+
3
+ module SimpsonsWorld
4
+ class Railtie < Rails::Railtie
5
+ initializer "simpsons_world.view_helpers" do
6
+ ActionView::Base.send :include, ViewHelpers
7
+ end
8
+ end
9
+ end
@@ -0,0 +1,28 @@
1
+ module SimpsonsWorld
2
+ BASE_URL = "http://www.simpsonsworld.com"
3
+ EPISODES_URL = "/watch/episodes"
4
+
5
+ class Scrape
6
+ require 'nokogiri'
7
+ require 'open-uri'
8
+
9
+ def self.all
10
+ doc = Nokogiri::HTML(open BASE_URL << EPISODES_URL)
11
+ seasons = doc.css(".chapters-wrapper")
12
+ seasons.each_with_index do |season, i|
13
+ number = season.attr 'data-season-number'
14
+ episodes = season.css("ul.items > li").map.with_index(1) { |episode, j|
15
+ [ j,
16
+ {
17
+ title: episode.css('.category-thumb-expanded .thumbnail-text').text,
18
+ description: episode.css('.category-thumb-expanded .thumbnail-extra-text').text,
19
+ url: episode.css('a')[0]['href']
20
+ }
21
+ ]
22
+ }.to_h
23
+ SimpsonsWorld::Season.new(number, episodes)
24
+ end
25
+ end
26
+ end
27
+
28
+ end
@@ -0,0 +1,36 @@
1
+ module SimpsonsWorld
2
+ class Season
3
+ require 'yaml'
4
+ attr_reader :number, :episodes
5
+
6
+ def initialize number, episodes
7
+ @number, @episodes, @@all = number.to_i, episodes, nil
8
+ save
9
+ end
10
+
11
+ def save
12
+ File.open(self.class.to_file_path(@number), 'w') do |file|
13
+ file.write [@number, @episodes].to_yaml
14
+ end
15
+ end
16
+
17
+ class << self
18
+ def all
19
+ @@all ||= init
20
+ end
21
+
22
+ def init
23
+ Dir.glob(to_file_path("*")).map { |file| YAML.load_file(file) }.to_h
24
+ end
25
+
26
+ def find number
27
+ all[number]
28
+ end
29
+
30
+ def to_file_path number
31
+ File.join(DATA_DIR, "season-#{number}.yml")
32
+ end
33
+ end
34
+
35
+ end
36
+ end
@@ -0,0 +1,3 @@
1
+ module SimpsonsWorld
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,12 @@
1
+ module SimpsonsWorld
2
+ module ViewHelpers
3
+
4
+ def simpsons_world_episode_url season:nil, episode:
5
+ season = 1 + Season.all.take_while { |k, episodes|
6
+ episode -= episodes.size if episode > episodes.size
7
+ }.size unless season
8
+ "#{BASE_URL}#{Season.all[season][episode][:url]}"
9
+ end
10
+
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ require "simpsons_world/version"
2
+ require 'simpsons_world/season'
3
+ require 'simpsons_world/scrape'
4
+ require 'simpsons_world/view_helpers'
5
+ require 'pry'
6
+
7
+ module SimpsonsWorld
8
+ DATA_DIR = ENV['environment'] && ENV['environment'] == 'test' ?
9
+ File.join(File.dirname(__FILE__), '..', 'spec', 'data') :
10
+ File.join(File.dirname(__FILE__), 'data')
11
+ end
12
+
13
+ require 'simpsons_world/railtie' if defined?(Rails)
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'simpsons_world/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "simpsons_world"
8
+ spec.version = SimpsonsWorld::VERSION
9
+ spec.authors = ["mcianni"]
10
+ spec.email = ["mcianni@gmail.com"]
11
+ spec.summary = %q{Link to episodes on the Simpsons World website.}
12
+ spec.description = %q{Generate a full url from an episode number to a Simpsons episode streaming on SimpsonsWorld.com.}
13
+ spec.homepage = "https://github.com/mcianni/simpsonsworld"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.7"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "nokogiri"
24
+ spec.add_development_dependency "rspec"
25
+ spec.add_development_dependency "rspec-nc"
26
+ spec.add_development_dependency "guard"
27
+ spec.add_development_dependency "guard-rspec"
28
+ end
File without changes
@@ -0,0 +1,125 @@
1
+ require 'spec_helper'
2
+ require 'fileutils'
3
+
4
+ describe SimpsonsWorld do
5
+ describe "test suite" do
6
+ it 'should not touch the real data dir' do
7
+ expect( SimpsonsWorld::DATA_DIR ).to include("/spec/")
8
+ end
9
+ end
10
+ end
11
+
12
+ describe SimpsonsWorld do
13
+ include Helpers
14
+ include SimpsonsWorld::ViewHelpers
15
+
16
+ EPISODE_COUNT = 5
17
+
18
+ let(:season_one_data) { season_data }
19
+ let(:season_two_data) { season_data(season: 2) }
20
+ let(:season_three_data) { season_data(season: 3) }
21
+
22
+ def create_season data=nil
23
+ @season = SimpsonsWorld::Season.new(*(data || season_one_data))
24
+ end
25
+
26
+ def purge_test_data
27
+ FileUtils.rm_rf(Dir.glob(File.join(File.dirname(__FILE__), "/data/*.yml")))
28
+ end
29
+
30
+ #it 'successfully parses the current markup' do
31
+ # expect{ SimpsonsWorld::Scrape.all }.to_not raise_error
32
+ #end
33
+
34
+ it 'should have a legit fixture' do
35
+ expect { create_season }.to_not raise_error
36
+ end
37
+
38
+ before(:each) do
39
+ purge_test_data
40
+ create_season
41
+ end
42
+
43
+ it 'should set the season number' do
44
+ expect( @season.number ).to eql(1)
45
+ end
46
+
47
+ it 'should set the episodes' do
48
+ expect( @season.episodes ).not_to be_nil
49
+ end
50
+
51
+ it "should set #{EPISODE_COUNT} episodes" do
52
+ expect( @season.episodes.count ).to eql(EPISODE_COUNT)
53
+ end
54
+
55
+ it "should save the data to file" do
56
+ expect File.exists?(SimpsonsWorld::Season::to_file_path(@season.number))
57
+ end
58
+
59
+ it "should save multiple seasons to multiple files" do
60
+ create_season(season_two_data)
61
+ expect( Dir[File.join(SimpsonsWorld::DATA_DIR, "season-*.yml")].count ).to eql 2
62
+ end
63
+
64
+ it "should load the data on demand when looking for one season" do
65
+ expect( SimpsonsWorld::Season.find(1) ).to_not be(nil)
66
+ end
67
+
68
+ it "should load the data on demand when requesting all seasons" do
69
+ expect( SimpsonsWorld::Season.all ).to_not be(nil)
70
+ end
71
+
72
+ it "shouldn't reload the data once it's been loaded" do
73
+ expect( SimpsonsWorld::Season.all.object_id ).to eql( SimpsonsWorld::Season.all.object_id )
74
+ end
75
+
76
+ it "should reload the data if a new season has been added" do
77
+ obj_id = SimpsonsWorld::Season.all.object_id
78
+ create_season(season_two_data)
79
+ expect( SimpsonsWorld::Season.all.object_id ).not_to eql( obj_id )
80
+ end
81
+
82
+ it "should not find a non-existent season" do
83
+ expect( SimpsonsWorld::Season.find(50) ).to be(nil)
84
+ end
85
+
86
+ it 'should return the correct episode' do
87
+ expect( @season.episodes[1] ).to eql(season_one_data[1][1])
88
+ end
89
+
90
+ it 'should set the correct path' do
91
+ expect( @season.episodes[1][:url] ).to eql("/path/s1-e1")
92
+ end
93
+
94
+ describe "url finders" do
95
+ before(:all) do
96
+ @view = Object.new
97
+ @view.extend(SimpsonsWorld::ViewHelpers)
98
+ end
99
+
100
+ it 'should return the correct url for episode number' do
101
+ expect( @view.simpsons_world_episode_url(episode: 1) ).to \
102
+ eql("http://www.simpsonsworld.com/path/s1-e1")
103
+ end
104
+
105
+ it 'should return the correct url for season and episode number' do
106
+ expect( @view.simpsons_world_episode_url(season: 1, episode: 1) ).to match(/s1-e1/)
107
+ end
108
+
109
+ it 'should return the correct url for a season 2 episode' do
110
+ create_season(season_two_data)
111
+ expect( @view.simpsons_world_episode_url(episode: 6) ).to match(/s2-e1/)
112
+ end
113
+
114
+ it 'should return the correct url for a season 1 finale' do
115
+ create_season(season_two_data)
116
+ expect( @view.simpsons_world_episode_url(episode: 5) ).to match(/s1-e5/)
117
+ end
118
+
119
+ it 'should return the correct url for a season 3 episode' do
120
+ create_season(season_two_data) and create_season(season_three_data)
121
+ expect( @view.simpsons_world_episode_url(episode: 14) ).to match(/s3-e4/)
122
+ end
123
+ end
124
+
125
+ end
@@ -0,0 +1,4 @@
1
+ ENV['environment'] = 'test'
2
+
3
+ require 'simpsons_world'
4
+ require 'support/helpers'
@@ -0,0 +1,9 @@
1
+ module Helpers
2
+
3
+ def season_data season: 1
4
+ [ season, (1..EPISODE_COUNT).map { |i|
5
+ [i, { title: "Episode #{i}", description: "Description #{i}", url: "/path/s#{season}-e#{i}" }]
6
+ }.to_h ]
7
+ end
8
+
9
+ end
metadata ADDED
@@ -0,0 +1,191 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: simpsons_world
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - mcianni
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-01-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: nokogiri
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rspec
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec-nc
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: guard
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: guard-rspec
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description: Generate a full url from an episode number to a Simpsons episode streaming
112
+ on SimpsonsWorld.com.
113
+ email:
114
+ - mcianni@gmail.com
115
+ executables: []
116
+ extensions: []
117
+ extra_rdoc_files: []
118
+ files:
119
+ - ".gitignore"
120
+ - Gemfile
121
+ - Guardfile
122
+ - LICENSE
123
+ - README.md
124
+ - Rakefile
125
+ - lib/data/.gitkeep
126
+ - lib/data/season-1.yml
127
+ - lib/data/season-10.yml
128
+ - lib/data/season-11.yml
129
+ - lib/data/season-12.yml
130
+ - lib/data/season-13.yml
131
+ - lib/data/season-14.yml
132
+ - lib/data/season-15.yml
133
+ - lib/data/season-16.yml
134
+ - lib/data/season-17.yml
135
+ - lib/data/season-18.yml
136
+ - lib/data/season-19.yml
137
+ - lib/data/season-2.yml
138
+ - lib/data/season-20.yml
139
+ - lib/data/season-21.yml
140
+ - lib/data/season-22.yml
141
+ - lib/data/season-23.yml
142
+ - lib/data/season-24.yml
143
+ - lib/data/season-25.yml
144
+ - lib/data/season-26.yml
145
+ - lib/data/season-3.yml
146
+ - lib/data/season-4.yml
147
+ - lib/data/season-5.yml
148
+ - lib/data/season-6.yml
149
+ - lib/data/season-7.yml
150
+ - lib/data/season-8.yml
151
+ - lib/data/season-9.yml
152
+ - lib/simpsons_world.rb
153
+ - lib/simpsons_world/railtie.rb
154
+ - lib/simpsons_world/scrape.rb
155
+ - lib/simpsons_world/season.rb
156
+ - lib/simpsons_world/version.rb
157
+ - lib/simpsons_world/view_helpers.rb
158
+ - simpsons_world.gemspec
159
+ - spec/data/.gitkeep
160
+ - spec/simpsons_world_spec.rb
161
+ - spec/spec_helper.rb
162
+ - spec/support/helpers.rb
163
+ homepage: https://github.com/mcianni/simpsonsworld
164
+ licenses:
165
+ - MIT
166
+ metadata: {}
167
+ post_install_message:
168
+ rdoc_options: []
169
+ require_paths:
170
+ - lib
171
+ required_ruby_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ required_rubygems_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ requirements: []
182
+ rubyforge_project:
183
+ rubygems_version: 2.4.5
184
+ signing_key:
185
+ specification_version: 4
186
+ summary: Link to episodes on the Simpsons World website.
187
+ test_files:
188
+ - spec/data/.gitkeep
189
+ - spec/simpsons_world_spec.rb
190
+ - spec/spec_helper.rb
191
+ - spec/support/helpers.rb