simpsons_world 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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