cineworld_uk 1.0.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 (47) hide show
  1. checksums.yaml +15 -0
  2. data/.gitignore +17 -0
  3. data/.travis.yml +4 -0
  4. data/CHANGELOG.md +9 -0
  5. data/Gemfile +4 -0
  6. data/LICENSE.txt +22 -0
  7. data/README.md +59 -0
  8. data/Rakefile +15 -0
  9. data/cineworld_uk.gemspec +29 -0
  10. data/lib/cineworld_uk.rb +15 -0
  11. data/lib/cineworld_uk/cinema.rb +218 -0
  12. data/lib/cineworld_uk/film.rb +47 -0
  13. data/lib/cineworld_uk/internal/film_with_screenings_parser.rb +128 -0
  14. data/lib/cineworld_uk/screening.rb +33 -0
  15. data/lib/cineworld_uk/version.rb +6 -0
  16. data/test/fixtures/cinemas.html +420 -0
  17. data/test/fixtures/cinemas/brighton.html +8 -0
  18. data/test/fixtures/cinemas/bristol.html +1206 -0
  19. data/test/fixtures/cinemas/bury-st-edmunds.html +1211 -0
  20. data/test/fixtures/cinemas/chelsea.html +1030 -0
  21. data/test/fixtures/cinemas/the-o2-grenwich.html +1191 -0
  22. data/test/fixtures/whatson/brighton.html +7906 -0
  23. data/test/fixtures/whatson/brighton/autism-friendly-cloudy-2.html +79 -0
  24. data/test/fixtures/whatson/brighton/geethanjali-malayalam.html +71 -0
  25. data/test/fixtures/whatson/brighton/gravity.html +2129 -0
  26. data/test/fixtures/whatson/brighton/take-2-thursday-about-time.html +89 -0
  27. data/test/fixtures/whatson/glasgow-imax-at-gsc-cinema.html +3160 -0
  28. data/test/fixtures/whatson/glasgow-imax-at-gsc/the-hunger-games-catching-fire.html +498 -0
  29. data/test/fixtures/whatson/the-o2-greenwich.html +6854 -0
  30. data/test/fixtures/whatson/the-o2-greenwich/gravity.html +784 -0
  31. data/test/fixtures/whatson/wandsworth.html +13729 -0
  32. data/test/fixtures/whatson/wandsworth/arrambam-tamil.html +126 -0
  33. data/test/fixtures/whatson/wandsworth/bolshoi-ballet-live-lost-illusions.html +80 -0
  34. data/test/fixtures/whatson/wandsworth/frankenstein-nt-50th.html +82 -0
  35. data/test/fixtures/whatson/wandsworth/met-opera-falstaff.html +74 -0
  36. data/test/fixtures/whatson/wandsworth/nt-live-war-horse.html +80 -0
  37. data/test/fixtures/whatson/wandsworth/royal-ballet-live-the-sleeping-beauty.html +79 -0
  38. data/test/fixtures/whatson/wandsworth/royal-opera-live-parsifal-weird-date.html +79 -0
  39. data/test/fixtures/whatson/wandsworth/rsc-live-richard-ii-encore.html +80 -0
  40. data/test/fixtures/whatson/wandsworth/west-end-theatre-series-private-lives.html +80 -0
  41. data/test/lib/cineworld_uk/cinema_test.rb +466 -0
  42. data/test/lib/cineworld_uk/film_test.rb +95 -0
  43. data/test/lib/cineworld_uk/internal/film_with_screenings_parser_test.rb +200 -0
  44. data/test/lib/cineworld_uk/screening_test.rb +31 -0
  45. data/test/lib/cineworld_uk/version_test.rb +9 -0
  46. data/test/test_helper.rb +6 -0
  47. metadata +219 -0
@@ -0,0 +1,95 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe CineworldUk::Film do
4
+
5
+ before { WebMock.disable_net_connect! }
6
+
7
+ describe '.new(name)' do
8
+ it 'stores name' do
9
+ film = CineworldUk::Film.new 'Iron Man 3'
10
+ film.name.must_equal 'Iron Man 3'
11
+ end
12
+ end
13
+
14
+ describe 'Comparable' do
15
+ it 'includes comparable methods' do
16
+ film = CineworldUk::Film.new 'AAAA'
17
+ film.methods.must_include :<
18
+ film.methods.must_include :>
19
+ film.methods.must_include :==
20
+ film.methods.must_include :<=>
21
+ film.methods.must_include :<=
22
+ film.methods.must_include :>=
23
+ end
24
+
25
+ describe 'uniqueness' do
26
+ it 'defines #hash' do
27
+ film = CineworldUk::Film.new 'AAAA'
28
+ film.methods.must_include :hash
29
+ end
30
+
31
+ describe '#hash' do
32
+ it 'returns a hash of the slug' do
33
+ film = CineworldUk::Film.new 'AAAA'
34
+ film.hash == film.slug.hash
35
+ end
36
+ end
37
+
38
+ it 'defines #eql?(other)' do
39
+ film = CineworldUk::Film.new 'AAAA'
40
+ film.methods.must_include :eql?
41
+ end
42
+
43
+ describe 'two identically named films' do
44
+ let(:film) { CineworldUk::Film.new 'AAAA' }
45
+ let(:otherfilm) { CineworldUk::Film.new 'AAAA' }
46
+
47
+ it 'retuns only one' do
48
+ result = [film, otherfilm].uniq
49
+ result.count.must_equal 1
50
+ result.must_equal [ CineworldUk::Film.new('AAAA') ]
51
+ end
52
+ end
53
+ end
54
+
55
+ describe '<=> (other)' do
56
+ subject { film <=> otherfilm }
57
+
58
+ describe 'film less than other' do
59
+ let(:film) { CineworldUk::Film.new 'AAAA' }
60
+ let(:otherfilm) { CineworldUk::Film.new 'BBBB' }
61
+
62
+ it 'retuns -1' do
63
+ subject.must_equal -1
64
+ end
65
+ end
66
+
67
+ describe 'film greater than other' do
68
+ let(:film) { CineworldUk::Film.new 'CCCC' }
69
+ let(:otherfilm) { CineworldUk::Film.new 'BBBB' }
70
+
71
+ it 'retuns 1' do
72
+ subject.must_equal 1
73
+ end
74
+ end
75
+
76
+ describe 'film same as other (exact name)' do
77
+ let(:film) { CineworldUk::Film.new 'AAAA' }
78
+ let(:otherfilm) { CineworldUk::Film.new 'AAAA' }
79
+
80
+ it 'retuns 0' do
81
+ subject.must_equal 0
82
+ end
83
+ end
84
+
85
+ describe 'film same as other (inexact name)' do
86
+ let(:film) { CineworldUk::Film.new 'blue jasmine' }
87
+ let(:otherfilm) { CineworldUk::Film.new 'Blue Jasmine' }
88
+
89
+ it 'retuns 0' do
90
+ subject.must_equal 0
91
+ end
92
+ end
93
+ end
94
+ end
95
+ end
@@ -0,0 +1,200 @@
1
+ require_relative '../../../test_helper'
2
+
3
+ describe CineworldUk::Internal::FilmWithScreeningsParser do
4
+
5
+ describe '#film_name' do
6
+ subject { CineworldUk::Internal::FilmWithScreeningsParser.new(film_html).film_name }
7
+
8
+ describe 'passed valid film html with simple name' do
9
+ let(:film_html) { read_film_html('brighton/gravity') }
10
+
11
+ it 'returns the film name' do
12
+ subject.must_equal('Gravity')
13
+ end
14
+ end
15
+
16
+ describe 'passed valid film html with take 2 name prefix' do
17
+ let(:film_html) { read_film_html('brighton/take-2-thursday-about-time') }
18
+
19
+ it 'returns the film name' do
20
+ subject.must_equal('About Time')
21
+ end
22
+ end
23
+
24
+ describe 'passed valid film html with autism friendly name prefix' do
25
+ let(:film_html) { read_film_html('brighton/autism-friendly-cloudy-2') }
26
+
27
+ it 'returns the film name' do
28
+ subject.must_equal('Cloudy With A Chance Of Meatballs 2')
29
+ end
30
+ end
31
+
32
+ describe 'passed valid film html with malayalam language suffix' do
33
+ let(:film_html) { read_film_html('brighton/geethanjali-malayalam') }
34
+
35
+ it 'returns the film name' do
36
+ subject.must_equal('Geethanjali')
37
+ end
38
+ end
39
+
40
+ describe 'passed valid film html with tamil language suffix' do
41
+ let(:film_html) { read_film_html('wandsworth/arrambam-tamil') }
42
+
43
+ it 'returns the film name' do
44
+ subject.must_equal('Arrambam')
45
+ end
46
+ end
47
+
48
+ describe 'passed valid film html with bolshoi live' do
49
+ let(:film_html) { read_film_html('wandsworth/bolshoi-ballet-live-lost-illusions') }
50
+
51
+ it 'returns the film name' do
52
+ subject.must_equal('Bolshoi: Lost Illusions')
53
+ end
54
+ end
55
+
56
+ describe 'passed valid film html with NT 50th encore' do
57
+ let(:film_html) { read_film_html('wandsworth/frankenstein-nt-50th') }
58
+
59
+ it 'returns the film name' do
60
+ subject.must_equal('National Theatre: Frankenstein (with Jonny Lee Miller as the Creature)')
61
+ end
62
+ end
63
+
64
+ describe 'passed valid film html with met opera and date' do
65
+ let(:film_html) { read_film_html('wandsworth/met-opera-falstaff') }
66
+
67
+ it 'returns the film name' do
68
+ subject.must_equal('Met Opera: Falstaff')
69
+ end
70
+ end
71
+
72
+ describe 'passed valid film html with nt live' do
73
+ let(:film_html) { read_film_html('wandsworth/nt-live-war-horse') }
74
+
75
+ it 'returns the film name' do
76
+ subject.must_equal('National Theatre: War Horse')
77
+ end
78
+ end
79
+
80
+ describe 'passed valid film html with ballet live' do
81
+ let(:film_html) { read_film_html('wandsworth/royal-ballet-live-the-sleeping-beauty') }
82
+
83
+ it 'returns the film name' do
84
+ subject.must_equal('Royal Ballet: The Sleeping Beauty')
85
+ end
86
+ end
87
+
88
+ describe 'passed valid film html with royal opera house and weird date' do
89
+ let(:film_html) { read_film_html('wandsworth/royal-opera-live-parsifal-weird-date') }
90
+
91
+ it 'returns the film name' do
92
+ subject.must_equal('Royal Opera House: Parsifal')
93
+ end
94
+ end
95
+
96
+ describe 'passed valid film html with RSC and encore' do
97
+ let(:film_html) { read_film_html('wandsworth/rsc-live-richard-ii-encore') }
98
+
99
+ it 'returns the film name' do
100
+ subject.must_equal('Royal Shakespeare Company: Richard II')
101
+ end
102
+ end
103
+
104
+ describe 'passed valid film html with West End Theatre' do
105
+ let(:film_html) { read_film_html('wandsworth/west-end-theatre-series-private-lives') }
106
+
107
+ it 'returns the film name' do
108
+ subject.must_equal("West End Theatre Series: Noel Coward's Private Lives")
109
+ end
110
+ end
111
+ end
112
+
113
+ describe '#showings' do
114
+ subject { CineworldUk::Internal::FilmWithScreeningsParser.new(film_html).showings }
115
+
116
+ describe 'passed valid film html in headline position' do
117
+ let(:film_html) { read_film_html('brighton/gravity') }
118
+
119
+ it 'returns a hash keyed by type of performance' do
120
+ subject.must_be_instance_of Hash
121
+ subject.keys.each { |key| key.must_be_instance_of String }
122
+ end
123
+
124
+ it 'returns an array of Times for each type of performance' do
125
+ subject.each do |key, value|
126
+ value.must_be_instance_of Array
127
+ value.each do |array|
128
+ array.must_be_instance_of Array
129
+ array[0].must_be_instance_of Time
130
+ array[1].must_be_instance_of String
131
+ end
132
+ end
133
+ end
134
+
135
+ it 'returns the correct number of Times' do
136
+ subject.keys.must_equal ['2D', '3D']
137
+ subject['2D'].count.must_equal 49
138
+ subject['3D'].count.must_equal 89
139
+ end
140
+
141
+ it 'returns Times in UTC' do
142
+ subject['2D'].first[0].must_equal Time.utc(2013, 11, 13, 12, 0, 0)
143
+ subject['2D'].last[0].must_equal Time.utc(2013, 11, 21, 20, 30, 0)
144
+
145
+ subject['3D'].first[0].must_equal Time.utc(2013, 11, 13, 12, 50, 0)
146
+ subject['3D'].last[0].must_equal Time.utc(2013, 11, 21, 17, 45, 0)
147
+ end
148
+
149
+ it 'returns booking urls' do
150
+ subject['2D'].first[1].must_equal 'http://www.cineworld.co.uk/booking?cinema=3&filmEdi=39755&date=20131113&time=12:00'
151
+ subject['2D'].last[1].must_equal 'http://www.cineworld.co.uk/booking?cinema=3&filmEdi=43483&date=20131121&time=20:30'
152
+
153
+ subject['3D'].first[1].must_equal 'http://www.cineworld.co.uk/booking?cinema=3&filmEdi=39755&date=20131113&time=12:50'
154
+ subject['3D'].last[1].must_equal 'http://www.cineworld.co.uk/booking?cinema=3&filmEdi=43483&date=20131121&time=17:45'
155
+ end
156
+ end
157
+
158
+ describe 'passed valid film html in headline position with crazy screens' do
159
+ let(:film_html) { read_film_html('the-o2-greenwich/gravity') }
160
+
161
+ it 'returns the correct number of Times' do
162
+ subject.keys.sort.must_equal ['2D', '3D', '3D D-BOX']
163
+ subject['2D'].count.must_equal 5
164
+ subject['3D'].count.must_equal 24
165
+ subject['3D D-BOX'].count.must_equal 19
166
+ end
167
+
168
+ it 'returns Times in UTC' do
169
+ subject['2D'].first[0].must_equal Time.utc(2013, 11, 18, 15, 30, 0)
170
+ subject['2D'].last[0].must_equal Time.utc(2013, 11, 21, 18, 35, 0)
171
+
172
+ subject['3D'].first[0].must_equal Time.utc(2013, 11, 16, 22, 15, 0)
173
+ subject['3D'].last[0].must_equal Time.utc(2013, 11, 21, 21, 0, 0)
174
+
175
+ subject['3D D-BOX'].first[0].must_equal Time.utc(2013, 11, 17, 11, 30, 0)
176
+ subject['3D D-BOX'].last[0].must_equal Time.utc(2013, 11, 20, 19, 0, 0)
177
+ end
178
+ end
179
+
180
+ describe 'passed valid film html in headline position with 2d imax' do
181
+ let(:film_html) { read_film_html('glasgow-imax-at-gsc/the-hunger-games-catching-fire') }
182
+
183
+ it 'returns the correct number of Times' do
184
+ subject.keys.sort.must_equal ['2D IMAX']
185
+ subject['2D IMAX'].count.must_equal 27
186
+ end
187
+
188
+ it 'returns Times in UTC' do
189
+ subject['2D IMAX'].first[0].must_equal Time.utc(2013, 11, 20, 00, 30, 0)
190
+ subject['2D IMAX'].last[0].must_equal Time.utc(2013, 11, 28, 20, 40, 0)
191
+ end
192
+ end
193
+ end
194
+
195
+ private
196
+
197
+ def read_film_html(filename)
198
+ File.read(File.expand_path("../../../../fixtures/whatson/#{filename}.html", __FILE__))
199
+ end
200
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe CineworldUk::Screening do
4
+ describe '#new film_name, cinema_name, date, time, varient' do
5
+ it 'stores film_name, cinema_name & when (in UTC)' do
6
+ screening = CineworldUk::Screening.new 'Iron Man 3', "Duke's At Komedia", Time.parse('2013-09-12 11:00')
7
+ screening.film_name.must_equal 'Iron Man 3'
8
+ screening.cinema_name.must_equal "Duke's At Komedia"
9
+ screening.when.must_equal Time.utc(2013, 9, 12, 10, 0)
10
+ screening.booking_url.must_equal nil
11
+ screening.varient.must_equal nil
12
+ end
13
+
14
+ it 'stores varient if passed' do
15
+ screening = CineworldUk::Screening.new 'Iron Man 3', "Duke's At Komedia", Time.utc(2013, 9, 12, 11, 0), 'http://link.com', '2d'
16
+ screening.film_name.must_equal 'Iron Man 3'
17
+ screening.cinema_name.must_equal "Duke's At Komedia"
18
+ screening.when.must_equal Time.utc(2013, 9, 12, 11, 0)
19
+ screening.booking_url.must_equal 'http://link.com'
20
+ screening.varient.must_equal '2d'
21
+ end
22
+ end
23
+
24
+ describe '#date' do
25
+ subject { CineworldUk::Screening.new('Iron Man 3', "Duke's At Komedia", Time.utc(2013, 9, 12, 11, 0)).date }
26
+ it 'should return date of showing' do
27
+ subject.must_be_instance_of(Date)
28
+ subject.must_equal Date.new(2013, 9, 12)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,9 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe CineworldUk do
4
+
5
+ it "must be defined" do
6
+ CineworldUk::VERSION.wont_be_nil
7
+ end
8
+
9
+ end
@@ -0,0 +1,6 @@
1
+ require 'minitest/autorun'
2
+ require 'minitest/pride'
3
+
4
+ require 'webmock/minitest'
5
+
6
+ require File.expand_path('../../lib/cineworld_uk.rb', __FILE__)
metadata ADDED
@@ -0,0 +1,219 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cineworld_uk
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Andy Croll
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-12-06 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.3'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.3'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: webmock
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: httparty
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
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: nokogiri
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
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: tzinfo
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ! '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
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: tzinfo-data
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ description: Cineworld cinema data
112
+ email:
113
+ - andy@goodscary.com
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - .gitignore
119
+ - .travis.yml
120
+ - CHANGELOG.md
121
+ - Gemfile
122
+ - LICENSE.txt
123
+ - README.md
124
+ - Rakefile
125
+ - cineworld_uk.gemspec
126
+ - lib/cineworld_uk.rb
127
+ - lib/cineworld_uk/cinema.rb
128
+ - lib/cineworld_uk/film.rb
129
+ - lib/cineworld_uk/internal/film_with_screenings_parser.rb
130
+ - lib/cineworld_uk/screening.rb
131
+ - lib/cineworld_uk/version.rb
132
+ - test/fixtures/cinemas.html
133
+ - test/fixtures/cinemas/brighton.html
134
+ - test/fixtures/cinemas/bristol.html
135
+ - test/fixtures/cinemas/bury-st-edmunds.html
136
+ - test/fixtures/cinemas/chelsea.html
137
+ - test/fixtures/cinemas/the-o2-grenwich.html
138
+ - test/fixtures/whatson/brighton.html
139
+ - test/fixtures/whatson/brighton/autism-friendly-cloudy-2.html
140
+ - test/fixtures/whatson/brighton/geethanjali-malayalam.html
141
+ - test/fixtures/whatson/brighton/gravity.html
142
+ - test/fixtures/whatson/brighton/take-2-thursday-about-time.html
143
+ - test/fixtures/whatson/glasgow-imax-at-gsc-cinema.html
144
+ - test/fixtures/whatson/glasgow-imax-at-gsc/the-hunger-games-catching-fire.html
145
+ - test/fixtures/whatson/the-o2-greenwich.html
146
+ - test/fixtures/whatson/the-o2-greenwich/gravity.html
147
+ - test/fixtures/whatson/wandsworth.html
148
+ - test/fixtures/whatson/wandsworth/arrambam-tamil.html
149
+ - test/fixtures/whatson/wandsworth/bolshoi-ballet-live-lost-illusions.html
150
+ - test/fixtures/whatson/wandsworth/frankenstein-nt-50th.html
151
+ - test/fixtures/whatson/wandsworth/met-opera-falstaff.html
152
+ - test/fixtures/whatson/wandsworth/nt-live-war-horse.html
153
+ - test/fixtures/whatson/wandsworth/royal-ballet-live-the-sleeping-beauty.html
154
+ - test/fixtures/whatson/wandsworth/royal-opera-live-parsifal-weird-date.html
155
+ - test/fixtures/whatson/wandsworth/rsc-live-richard-ii-encore.html
156
+ - test/fixtures/whatson/wandsworth/west-end-theatre-series-private-lives.html
157
+ - test/lib/cineworld_uk/cinema_test.rb
158
+ - test/lib/cineworld_uk/film_test.rb
159
+ - test/lib/cineworld_uk/internal/film_with_screenings_parser_test.rb
160
+ - test/lib/cineworld_uk/screening_test.rb
161
+ - test/lib/cineworld_uk/version_test.rb
162
+ - test/test_helper.rb
163
+ homepage: https://github.com/andycroll/cineworld_uk
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.1.10
184
+ signing_key:
185
+ specification_version: 4
186
+ summary: Parses cinema and showing data from the cineworld.co.uk website
187
+ test_files:
188
+ - test/fixtures/cinemas.html
189
+ - test/fixtures/cinemas/brighton.html
190
+ - test/fixtures/cinemas/bristol.html
191
+ - test/fixtures/cinemas/bury-st-edmunds.html
192
+ - test/fixtures/cinemas/chelsea.html
193
+ - test/fixtures/cinemas/the-o2-grenwich.html
194
+ - test/fixtures/whatson/brighton.html
195
+ - test/fixtures/whatson/brighton/autism-friendly-cloudy-2.html
196
+ - test/fixtures/whatson/brighton/geethanjali-malayalam.html
197
+ - test/fixtures/whatson/brighton/gravity.html
198
+ - test/fixtures/whatson/brighton/take-2-thursday-about-time.html
199
+ - test/fixtures/whatson/glasgow-imax-at-gsc-cinema.html
200
+ - test/fixtures/whatson/glasgow-imax-at-gsc/the-hunger-games-catching-fire.html
201
+ - test/fixtures/whatson/the-o2-greenwich.html
202
+ - test/fixtures/whatson/the-o2-greenwich/gravity.html
203
+ - test/fixtures/whatson/wandsworth.html
204
+ - test/fixtures/whatson/wandsworth/arrambam-tamil.html
205
+ - test/fixtures/whatson/wandsworth/bolshoi-ballet-live-lost-illusions.html
206
+ - test/fixtures/whatson/wandsworth/frankenstein-nt-50th.html
207
+ - test/fixtures/whatson/wandsworth/met-opera-falstaff.html
208
+ - test/fixtures/whatson/wandsworth/nt-live-war-horse.html
209
+ - test/fixtures/whatson/wandsworth/royal-ballet-live-the-sleeping-beauty.html
210
+ - test/fixtures/whatson/wandsworth/royal-opera-live-parsifal-weird-date.html
211
+ - test/fixtures/whatson/wandsworth/rsc-live-richard-ii-encore.html
212
+ - test/fixtures/whatson/wandsworth/west-end-theatre-series-private-lives.html
213
+ - test/lib/cineworld_uk/cinema_test.rb
214
+ - test/lib/cineworld_uk/film_test.rb
215
+ - test/lib/cineworld_uk/internal/film_with_screenings_parser_test.rb
216
+ - test/lib/cineworld_uk/screening_test.rb
217
+ - test/lib/cineworld_uk/version_test.rb
218
+ - test/test_helper.rb
219
+ has_rdoc: