odeon_uk 3.0.6 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (119) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +5 -3
  3. data/CHANGELOG.md +14 -0
  4. data/{LICENSE.txt → COMM-LICENSE} +0 -0
  5. data/LICENSE +617 -0
  6. data/README.md +58 -29
  7. data/Rakefile +7 -21
  8. data/lib/odeon_uk.rb +5 -14
  9. data/lib/odeon_uk/cinema.rb +123 -75
  10. data/lib/odeon_uk/{api/response.rb → internal/api_response.rb} +3 -3
  11. data/lib/odeon_uk/internal/parser/api/film_lookup.rb +34 -0
  12. data/lib/odeon_uk/internal/parser/api/performance_day.rb +92 -0
  13. data/lib/odeon_uk/internal/title_sanitizer.rb +34 -39
  14. data/lib/odeon_uk/performance.rb +87 -0
  15. data/lib/odeon_uk/version.rb +2 -2
  16. data/odeon_uk.gemspec +19 -21
  17. data/rake/fixture_creator.rb +5 -57
  18. data/test/fixtures/api/all_cinemas.plist +0 -0
  19. data/test/fixtures/api/app_init.plist +0 -0
  20. data/test/fixtures/api/film_times/71-14876.plist +0 -0
  21. data/test/fixtures/api/film_times/71-15408.plist +0 -0
  22. data/test/fixtures/api/film_times/71-15684.plist +0 -0
  23. data/test/fixtures/api/film_times/71-15866.plist +0 -0
  24. data/test/fixtures/api/film_times/71-15868.plist +0 -0
  25. data/test/fixtures/api/film_times/71-15961.plist +0 -0
  26. data/test/fixtures/api/film_times/71-15963.plist +0 -0
  27. data/test/fixtures/api/film_times/71-15965.plist +0 -0
  28. data/test/fixtures/api/film_times/71-15967.plist +0 -0
  29. data/test/fixtures/api/film_times/71-15969.plist +0 -0
  30. data/test/fixtures/api/film_times/71-15977.plist +0 -0
  31. data/test/fixtures/api/film_times/71-15980.plist +0 -0
  32. data/test/fixtures/api/film_times/71-16037.plist +0 -0
  33. data/test/fixtures/api/film_times/71-16136.plist +0 -0
  34. data/test/fixtures/api/film_times/71-16142.plist +0 -0
  35. data/test/fixtures/api/film_times/71-16143.plist +0 -0
  36. data/test/fixtures/api/film_times/71-16187.plist +0 -0
  37. data/test/fixtures/api/film_times/71-16369.plist +0 -0
  38. data/test/fixtures/api/film_times/71-16370.plist +0 -0
  39. data/test/fixtures/api/film_times/71-16374.plist +0 -0
  40. data/test/fixtures/api/film_times/71-16386.plist +0 -0
  41. data/test/fixtures/api/film_times/71-16387.plist +0 -0
  42. data/test/fixtures/api/film_times/71-16388.plist +0 -0
  43. data/test/fixtures/api/film_times/71-16438.plist +0 -0
  44. data/test/fixtures/api/film_times/71-16454.plist +0 -0
  45. data/test/fixtures/api/film_times/71-16457.plist +0 -0
  46. data/test/fixtures/api/film_times/71-16477.plist +0 -0
  47. data/test/fixtures/api/film_times/71-16478.plist +0 -0
  48. data/test/fixtures/api/film_times/71-16480.plist +0 -0
  49. data/test/fixtures/api/film_times/71-16482.plist +0 -0
  50. data/test/fixtures/api/film_times/71-16489.plist +0 -0
  51. data/test/lib/odeon_uk/cinema_test.rb +154 -373
  52. data/test/lib/odeon_uk/{api/response_test.rb → internal/api_response_test.rb} +7 -4
  53. data/test/lib/odeon_uk/performance_test.rb +149 -0
  54. data/test/lib/odeon_uk/version_test.rb +3 -5
  55. data/test/support/api_fixtures_helper.rb +9 -3
  56. data/test/support/fake_api_response.rb +17 -0
  57. data/test/test_helper.rb +9 -3
  58. metadata +89 -145
  59. data/.rdoc_options +0 -16
  60. data/lib/odeon_uk/api/cinema.rb +0 -67
  61. data/lib/odeon_uk/api/screenings.rb +0 -103
  62. data/lib/odeon_uk/configuration.rb +0 -21
  63. data/lib/odeon_uk/html/cinema.rb +0 -101
  64. data/lib/odeon_uk/html/parser/film_with_screenings.rb +0 -160
  65. data/lib/odeon_uk/html/screenings.rb +0 -38
  66. data/lib/odeon_uk/html/website.rb +0 -38
  67. data/lib/odeon_uk/screening.rb +0 -71
  68. data/test/fixtures/api/film_times/71-100747.plist +0 -0
  69. data/test/fixtures/api/film_times/71-100750.plist +0 -0
  70. data/test/fixtures/api/film_times/71-100790.plist +0 -0
  71. data/test/fixtures/api/film_times/71-14646.plist +0 -0
  72. data/test/fixtures/api/film_times/71-14725.plist +0 -0
  73. data/test/fixtures/api/film_times/71-15086.plist +0 -0
  74. data/test/fixtures/api/film_times/71-15096.plist +0 -0
  75. data/test/fixtures/api/film_times/71-15122.plist +0 -0
  76. data/test/fixtures/api/film_times/71-15130.plist +0 -0
  77. data/test/fixtures/api/film_times/71-15141.plist +0 -0
  78. data/test/fixtures/api/film_times/71-15142.plist +0 -0
  79. data/test/fixtures/api/film_times/71-15143.plist +0 -0
  80. data/test/fixtures/api/film_times/71-15144.plist +0 -0
  81. data/test/fixtures/api/film_times/71-15145.plist +0 -0
  82. data/test/fixtures/api/film_times/71-15170.plist +0 -0
  83. data/test/fixtures/api/film_times/71-15172.plist +0 -0
  84. data/test/fixtures/api/film_times/71-15177.plist +0 -0
  85. data/test/fixtures/api/film_times/71-15179.plist +0 -0
  86. data/test/fixtures/api/film_times/71-15182.plist +0 -0
  87. data/test/fixtures/api/film_times/71-15286.plist +0 -0
  88. data/test/fixtures/api/film_times/71-15360.plist +0 -0
  89. data/test/fixtures/api/film_times/71-15586.plist +0 -0
  90. data/test/fixtures/api/film_times/71-15700.plist +0 -0
  91. data/test/fixtures/api/film_times/71-15718.plist +0 -0
  92. data/test/fixtures/api/film_times/71-15768.plist +0 -0
  93. data/test/fixtures/api/film_times/71-15788.plist +0 -0
  94. data/test/fixtures/api/film_times/71-15793.plist +0 -0
  95. data/test/fixtures/api/film_times/71-15794.plist +0 -0
  96. data/test/fixtures/api/film_times/71-15795.plist +0 -0
  97. data/test/fixtures/api/film_times/71-15796.plist +0 -0
  98. data/test/fixtures/api/film_times/71-15799.plist +0 -0
  99. data/test/fixtures/api/film_times/71-15802.plist +0 -0
  100. data/test/fixtures/api/film_times/71-15814.plist +0 -0
  101. data/test/fixtures/api/film_times/71-15817.plist +0 -0
  102. data/test/fixtures/api/film_times/71-15840.plist +0 -0
  103. data/test/fixtures/html/cinema/105.html +0 -2622
  104. data/test/fixtures/html/cinema/211.html +0 -3241
  105. data/test/fixtures/html/cinema/71.html +0 -3448
  106. data/test/fixtures/html/showtimes/11-imax.html +0 -170
  107. data/test/fixtures/html/showtimes/171-d-box.html +0 -203
  108. data/test/fixtures/html/showtimes/71-0.html +0 -59
  109. data/test/fixtures/html/showtimes/71.html +0 -2395
  110. data/test/fixtures/html/sitemap.html +0 -1303
  111. data/test/lib/odeon_uk/api/cinema_test.rb +0 -165
  112. data/test/lib/odeon_uk/api/screenings_test.rb +0 -58
  113. data/test/lib/odeon_uk/configuration_test.rb +0 -29
  114. data/test/lib/odeon_uk/html/cinema_test.rb +0 -149
  115. data/test/lib/odeon_uk/html/parser/film_with_screenings_test.rb +0 -97
  116. data/test/lib/odeon_uk/html/screenings_test.rb +0 -44
  117. data/test/lib/odeon_uk/html/website_test.rb +0 -67
  118. data/test/lib/odeon_uk/screening_test.rb +0 -92
  119. data/test/support/website_fixtures_helper.rb +0 -30
@@ -1,9 +1,12 @@
1
1
  require_relative '../../../test_helper'
2
2
 
3
- describe OdeonUk::Api::Response do
3
+ describe OdeonUk::Internal::ApiResponse do
4
4
  include ApiFixturesHelper
5
5
 
6
- let(:described_class) { OdeonUk::Api::Response }
6
+ let(:described_class) { OdeonUk::Internal::ApiResponse }
7
+
8
+ before { WebMock.disable_net_connect! }
9
+ after { WebMock.allow_net_connect! }
7
10
 
8
11
  describe '#app_init' do
9
12
  subject { described_class.new.app_init }
@@ -28,12 +31,12 @@ describe OdeonUk::Api::Response do
28
31
  end
29
32
 
30
33
  describe '#showtimes(id)' do
31
- subject { described_class.new.film_times(71, 15130) }
34
+ subject { described_class.new.film_times(71, 15_130) }
32
35
 
33
36
  before do
34
37
  stub_post('film-times',
35
38
  { s: '71', m: '15130' },
36
- film_times_plist(71, 15130))
39
+ film_times_plist_random)
37
40
  end
38
41
 
39
42
  it 'returns an array' do
@@ -0,0 +1,149 @@
1
+ require_relative '../../test_helper'
2
+
3
+ describe OdeonUk::Performance do
4
+ let(:described_class) { OdeonUk::Performance }
5
+ let(:api_response) { FakeApiResponse.new }
6
+
7
+ before { WebMock.disable_net_connect! }
8
+ after { WebMock.allow_net_connect! }
9
+
10
+ describe '.at(cinema_id)' do
11
+ subject { described_class.at(71) }
12
+
13
+ it 'returns an array of performances' do
14
+ OdeonUk::Internal::ApiResponse.stub :new, api_response do
15
+ subject.must_be_instance_of(Array)
16
+ subject.each do |element|
17
+ element.must_be_instance_of(described_class)
18
+ end
19
+ end
20
+ end
21
+
22
+ it 'returns at least a sensible number' do
23
+ OdeonUk::Internal::ApiResponse.stub :new, api_response do
24
+ subject.count.must_be :>, 110
25
+ end
26
+ end
27
+ end
28
+
29
+ describe '.new' do
30
+ subject { described_class.new(options) }
31
+
32
+ describe 'simple' do
33
+ let(:options) do
34
+ {
35
+ film_name: 'The Big Short',
36
+ cinema_id: 71,
37
+ cinema_name: 'Brighton',
38
+ starting_at: Time.utc(2013, 9, 12, 11, 0)
39
+ }
40
+ end
41
+
42
+ it 'sets cinema name and film name' do
43
+ subject.film_name.must_equal 'The Big Short'
44
+ subject.cinema_name.must_equal 'Brighton'
45
+ end
46
+
47
+ it 'booking url, dimension & varient are set to defaults' do
48
+ subject.booking_url.must_equal nil
49
+ subject.dimension.must_equal '2d'
50
+ subject.variant.must_equal []
51
+ end
52
+ end
53
+ end
54
+
55
+ describe '#dimension' do
56
+ let(:options) do
57
+ {
58
+ film_name: 'Ant Man',
59
+ dimension: '3d',
60
+ cinema_id: 71,
61
+ cinema_name: 'Brighton',
62
+ starting_at: Time.utc(2013, 9, 12, 11, 0)
63
+ }
64
+ end
65
+
66
+ subject { described_class.new(options).dimension }
67
+
68
+ it 'returns 2d or 3d' do
69
+ subject.must_be_instance_of(String)
70
+ subject.must_equal '3d'
71
+ end
72
+ end
73
+
74
+ describe '#starting_at' do
75
+ subject { described_class.new(options).starting_at }
76
+
77
+ describe 'with utc time' do
78
+ let(:options) do
79
+ {
80
+ film_name: 'Steve Jobs',
81
+ cinema_id: 71,
82
+ cinema_name: 'Brighton',
83
+ starting_at: Time.utc(2013, 9, 12, 11, 0)
84
+ }
85
+ end
86
+
87
+ it 'returns UTC time' do
88
+ subject.must_be_instance_of Time
89
+ subject.must_equal Time.utc(2013, 9, 12, 11, 0)
90
+ end
91
+ end
92
+
93
+ describe 'with non-utc time' do
94
+ let(:options) do
95
+ {
96
+ film_name: 'Steve Jobs',
97
+ cinema_id: 71,
98
+ cinema_name: 'Brighton',
99
+ starting_at: Time.new(2013, 9, 12, 11, 0)
100
+ }
101
+ end
102
+
103
+ it 'returns UTC time' do
104
+ subject.must_be_instance_of Time
105
+ subject.must_equal Time.utc(2013, 9, 12, 10, 0)
106
+ subject.utc?.must_equal(true)
107
+ end
108
+ end
109
+ end
110
+
111
+ describe '#showing_on' do
112
+ let(:options) do
113
+ {
114
+ film_name: 'The Hunger Games',
115
+ cinema_id: 71,
116
+ cinema_name: 'Brighton',
117
+ starting_at: Time.utc(2013, 9, 12, 11, 0)
118
+ }
119
+ end
120
+
121
+ subject { described_class.new(options).showing_on }
122
+
123
+ it 'returns date of showing' do
124
+ subject.must_be_instance_of(Date)
125
+ subject.must_equal Date.new(2013, 9, 12)
126
+ end
127
+ end
128
+
129
+ describe '#variant' do
130
+ subject { described_class.new(options).variant }
131
+
132
+ let(:options) do
133
+ {
134
+ film_name: 'Carol',
135
+ cinema_id: 71,
136
+ cinema_name: 'Brighton',
137
+ starting_at: Time.utc(2013, 9, 12, 11, 0),
138
+ variant: %w(Subtitles Senior)
139
+ }
140
+ end
141
+
142
+ it 'is an alphabetically ordered array of lower-cased strings' do
143
+ subject.must_be_instance_of Array
144
+ subject.each { |element| element.must_be_instance_of String }
145
+ subject.must_equal %w(senior subtitles)
146
+ end
147
+ end
148
+
149
+ end
@@ -1,9 +1,7 @@
1
1
  require_relative '../../test_helper'
2
-
2
+
3
3
  describe OdeonUk do
4
-
5
- it "must be defined" do
4
+ it 'must be defined' do
6
5
  OdeonUk::VERSION.wont_be_nil
7
6
  end
8
-
9
- end
7
+ end
@@ -1,3 +1,4 @@
1
+ # Read fixtures from disk
1
2
  module ApiFixturesHelper
2
3
  private
3
4
 
@@ -13,9 +14,14 @@ module ApiFixturesHelper
13
14
  read_fixture("api/film_times/#{cinema_id}-#{film_id}")
14
15
  end
15
16
 
16
- def film_times_plists(cinema_id)
17
- listing = Dir.entries(File.expand_path('../../fixtures/api/film_times', __FILE__))
18
- listing.reject { |filename| !filename.match(/\A#{cinema_id}-/) }
17
+ def film_times_plist_random
18
+ read_fixture("api/film_times/#{film_times_plist_names(71).sample}")
19
+ end
20
+
21
+ def film_times_plist_names(cinema_id)
22
+ Dir.entries(File.expand_path('../../fixtures/api/film_times', __FILE__))
23
+ .reject { |filename| !filename.match(/\A#{cinema_id}-/) }
24
+ .map { |filename| filename.gsub('.plist', '') }
19
25
  end
20
26
 
21
27
  def parse(content)
@@ -0,0 +1,17 @@
1
+ require_relative 'api_fixtures_helper'
2
+
3
+ class FakeApiResponse
4
+ include ApiFixturesHelper
5
+
6
+ def app_init
7
+ parse(app_init_plist)
8
+ end
9
+
10
+ def all_cinemas
11
+ parse(all_cinemas_plist)
12
+ end
13
+
14
+ def film_times(cinema_id, film_id)
15
+ parse(film_times_plist(cinema_id, film_id))
16
+ end
17
+ end
data/test/test_helper.rb CHANGED
@@ -1,11 +1,17 @@
1
+ require 'codeclimate-test-reporter'
2
+ CodeClimate::TestReporter.start
3
+
1
4
  require 'minitest/autorun'
2
5
  require 'minitest/reporters'
3
- reporter_options = { color: true, slow_count: 5 }
4
- Minitest::Reporters.use! [Minitest::Reporters::DefaultReporter.new(reporter_options)]
6
+
7
+ Minitest::Reporters.use! [
8
+ Minitest::Reporters::DefaultReporter.new(color: true, slow_count: 5)
9
+ ]
5
10
 
6
11
  require 'webmock/minitest'
12
+ WebMock.allow_net_connect!
7
13
 
8
14
  require File.expand_path('../../lib/odeon_uk.rb', __FILE__)
9
15
 
10
16
  require_relative 'support/api_fixtures_helper'
11
- require_relative 'support/website_fixtures_helper'
17
+ require_relative 'support/fake_api_response'
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: odeon_uk
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.6
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Croll
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-07-05 00:00:00.000000000 Z
11
+ date: 2016-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: rake
14
+ name: codeclimate-test-reporter
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: webmock
42
+ name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
@@ -53,27 +53,13 @@ dependencies:
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: CFPropertyList
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
56
+ name: webmock
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
74
60
  - !ruby/object:Gem::Version
75
61
  version: '0'
76
- type: :runtime
62
+ type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
@@ -81,7 +67,7 @@ dependencies:
81
67
  - !ruby/object:Gem::Version
82
68
  version: '0'
83
69
  - !ruby/object:Gem::Dependency
84
- name: tzinfo
70
+ name: CFPropertyList
85
71
  requirement: !ruby/object:Gem::Requirement
86
72
  requirements:
87
73
  - - ">="
@@ -95,20 +81,20 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: tzinfo-data
84
+ name: cinebase
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - ">="
87
+ - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '0'
89
+ version: '3.0'
104
90
  type: :runtime
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - ">="
94
+ - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: '0'
111
- description: An API to pull movie information from the ODEON.co.uk website
96
+ version: '3.0'
97
+ description: Pull movie & cinema information from the Odeon iOS API
112
98
  email:
113
99
  - andy@goodscary.com
114
100
  executables: []
@@ -116,90 +102,67 @@ extensions: []
116
102
  extra_rdoc_files: []
117
103
  files:
118
104
  - ".gitignore"
119
- - ".rdoc_options"
120
105
  - ".travis.yml"
121
106
  - CHANGELOG.md
107
+ - COMM-LICENSE
122
108
  - Gemfile
123
- - LICENSE.txt
109
+ - LICENSE
124
110
  - README.md
125
111
  - Rakefile
126
112
  - lib/odeon_uk.rb
127
- - lib/odeon_uk/api/cinema.rb
128
- - lib/odeon_uk/api/response.rb
129
- - lib/odeon_uk/api/screenings.rb
130
113
  - lib/odeon_uk/cinema.rb
131
- - lib/odeon_uk/configuration.rb
132
- - lib/odeon_uk/html/cinema.rb
133
- - lib/odeon_uk/html/parser/film_with_screenings.rb
134
- - lib/odeon_uk/html/screenings.rb
135
- - lib/odeon_uk/html/website.rb
114
+ - lib/odeon_uk/internal/api_response.rb
115
+ - lib/odeon_uk/internal/parser/api/film_lookup.rb
116
+ - lib/odeon_uk/internal/parser/api/performance_day.rb
136
117
  - lib/odeon_uk/internal/title_sanitizer.rb
137
- - lib/odeon_uk/screening.rb
118
+ - lib/odeon_uk/performance.rb
138
119
  - lib/odeon_uk/version.rb
139
120
  - odeon_uk.gemspec
140
121
  - rake/fixture_creator.rb
141
122
  - test/fixtures/api/all_cinemas.plist
142
123
  - test/fixtures/api/app_init.plist
143
- - test/fixtures/api/film_times/71-100747.plist
144
- - test/fixtures/api/film_times/71-100750.plist
145
- - test/fixtures/api/film_times/71-100790.plist
146
- - test/fixtures/api/film_times/71-14646.plist
147
- - test/fixtures/api/film_times/71-14725.plist
148
- - test/fixtures/api/film_times/71-15086.plist
149
- - test/fixtures/api/film_times/71-15096.plist
150
- - test/fixtures/api/film_times/71-15122.plist
151
- - test/fixtures/api/film_times/71-15130.plist
152
- - test/fixtures/api/film_times/71-15141.plist
153
- - test/fixtures/api/film_times/71-15142.plist
154
- - test/fixtures/api/film_times/71-15143.plist
155
- - test/fixtures/api/film_times/71-15144.plist
156
- - test/fixtures/api/film_times/71-15145.plist
157
- - test/fixtures/api/film_times/71-15170.plist
158
- - test/fixtures/api/film_times/71-15172.plist
159
- - test/fixtures/api/film_times/71-15177.plist
160
- - test/fixtures/api/film_times/71-15179.plist
161
- - test/fixtures/api/film_times/71-15182.plist
162
- - test/fixtures/api/film_times/71-15286.plist
163
- - test/fixtures/api/film_times/71-15360.plist
164
- - test/fixtures/api/film_times/71-15586.plist
165
- - test/fixtures/api/film_times/71-15700.plist
166
- - test/fixtures/api/film_times/71-15718.plist
167
- - test/fixtures/api/film_times/71-15768.plist
168
- - test/fixtures/api/film_times/71-15788.plist
169
- - test/fixtures/api/film_times/71-15793.plist
170
- - test/fixtures/api/film_times/71-15794.plist
171
- - test/fixtures/api/film_times/71-15795.plist
172
- - test/fixtures/api/film_times/71-15796.plist
173
- - test/fixtures/api/film_times/71-15799.plist
174
- - test/fixtures/api/film_times/71-15802.plist
175
- - test/fixtures/api/film_times/71-15814.plist
176
- - test/fixtures/api/film_times/71-15817.plist
177
- - test/fixtures/api/film_times/71-15840.plist
178
- - test/fixtures/html/cinema/105.html
179
- - test/fixtures/html/cinema/211.html
180
- - test/fixtures/html/cinema/71.html
181
- - test/fixtures/html/showtimes/11-imax.html
182
- - test/fixtures/html/showtimes/171-d-box.html
183
- - test/fixtures/html/showtimes/71-0.html
184
- - test/fixtures/html/showtimes/71.html
185
- - test/fixtures/html/sitemap.html
186
- - test/lib/odeon_uk/api/cinema_test.rb
187
- - test/lib/odeon_uk/api/response_test.rb
188
- - test/lib/odeon_uk/api/screenings_test.rb
124
+ - test/fixtures/api/film_times/71-14876.plist
125
+ - test/fixtures/api/film_times/71-15408.plist
126
+ - test/fixtures/api/film_times/71-15684.plist
127
+ - test/fixtures/api/film_times/71-15866.plist
128
+ - test/fixtures/api/film_times/71-15868.plist
129
+ - test/fixtures/api/film_times/71-15961.plist
130
+ - test/fixtures/api/film_times/71-15963.plist
131
+ - test/fixtures/api/film_times/71-15965.plist
132
+ - test/fixtures/api/film_times/71-15967.plist
133
+ - test/fixtures/api/film_times/71-15969.plist
134
+ - test/fixtures/api/film_times/71-15977.plist
135
+ - test/fixtures/api/film_times/71-15980.plist
136
+ - test/fixtures/api/film_times/71-16037.plist
137
+ - test/fixtures/api/film_times/71-16136.plist
138
+ - test/fixtures/api/film_times/71-16142.plist
139
+ - test/fixtures/api/film_times/71-16143.plist
140
+ - test/fixtures/api/film_times/71-16187.plist
141
+ - test/fixtures/api/film_times/71-16369.plist
142
+ - test/fixtures/api/film_times/71-16370.plist
143
+ - test/fixtures/api/film_times/71-16374.plist
144
+ - test/fixtures/api/film_times/71-16386.plist
145
+ - test/fixtures/api/film_times/71-16387.plist
146
+ - test/fixtures/api/film_times/71-16388.plist
147
+ - test/fixtures/api/film_times/71-16438.plist
148
+ - test/fixtures/api/film_times/71-16454.plist
149
+ - test/fixtures/api/film_times/71-16457.plist
150
+ - test/fixtures/api/film_times/71-16477.plist
151
+ - test/fixtures/api/film_times/71-16478.plist
152
+ - test/fixtures/api/film_times/71-16480.plist
153
+ - test/fixtures/api/film_times/71-16482.plist
154
+ - test/fixtures/api/film_times/71-16489.plist
189
155
  - test/lib/odeon_uk/cinema_test.rb
190
- - test/lib/odeon_uk/configuration_test.rb
191
- - test/lib/odeon_uk/html/cinema_test.rb
192
- - test/lib/odeon_uk/html/parser/film_with_screenings_test.rb
193
- - test/lib/odeon_uk/html/screenings_test.rb
194
- - test/lib/odeon_uk/html/website_test.rb
156
+ - test/lib/odeon_uk/internal/api_response_test.rb
195
157
  - test/lib/odeon_uk/internal/title_sanitizer_test.rb
196
- - test/lib/odeon_uk/screening_test.rb
158
+ - test/lib/odeon_uk/performance_test.rb
197
159
  - test/lib/odeon_uk/version_test.rb
198
160
  - test/support/api_fixtures_helper.rb
199
- - test/support/website_fixtures_helper.rb
161
+ - test/support/fake_api_response.rb
200
162
  - test/test_helper.rb
201
163
  homepage: http://github.com/andycroll/odeon_uk
202
164
  licenses:
165
+ - AGPL
203
166
  - MIT
204
167
  metadata: {}
205
168
  post_install_message:
@@ -218,69 +181,50 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
181
  version: '0'
219
182
  requirements: []
220
183
  rubyforge_project:
221
- rubygems_version: 2.2.2
184
+ rubygems_version: 2.4.5
222
185
  signing_key:
223
186
  specification_version: 4
224
187
  summary: It's a scraper, but a nice one
225
188
  test_files:
226
189
  - test/fixtures/api/all_cinemas.plist
227
190
  - test/fixtures/api/app_init.plist
228
- - test/fixtures/api/film_times/71-100747.plist
229
- - test/fixtures/api/film_times/71-100750.plist
230
- - test/fixtures/api/film_times/71-100790.plist
231
- - test/fixtures/api/film_times/71-14646.plist
232
- - test/fixtures/api/film_times/71-14725.plist
233
- - test/fixtures/api/film_times/71-15086.plist
234
- - test/fixtures/api/film_times/71-15096.plist
235
- - test/fixtures/api/film_times/71-15122.plist
236
- - test/fixtures/api/film_times/71-15130.plist
237
- - test/fixtures/api/film_times/71-15141.plist
238
- - test/fixtures/api/film_times/71-15142.plist
239
- - test/fixtures/api/film_times/71-15143.plist
240
- - test/fixtures/api/film_times/71-15144.plist
241
- - test/fixtures/api/film_times/71-15145.plist
242
- - test/fixtures/api/film_times/71-15170.plist
243
- - test/fixtures/api/film_times/71-15172.plist
244
- - test/fixtures/api/film_times/71-15177.plist
245
- - test/fixtures/api/film_times/71-15179.plist
246
- - test/fixtures/api/film_times/71-15182.plist
247
- - test/fixtures/api/film_times/71-15286.plist
248
- - test/fixtures/api/film_times/71-15360.plist
249
- - test/fixtures/api/film_times/71-15586.plist
250
- - test/fixtures/api/film_times/71-15700.plist
251
- - test/fixtures/api/film_times/71-15718.plist
252
- - test/fixtures/api/film_times/71-15768.plist
253
- - test/fixtures/api/film_times/71-15788.plist
254
- - test/fixtures/api/film_times/71-15793.plist
255
- - test/fixtures/api/film_times/71-15794.plist
256
- - test/fixtures/api/film_times/71-15795.plist
257
- - test/fixtures/api/film_times/71-15796.plist
258
- - test/fixtures/api/film_times/71-15799.plist
259
- - test/fixtures/api/film_times/71-15802.plist
260
- - test/fixtures/api/film_times/71-15814.plist
261
- - test/fixtures/api/film_times/71-15817.plist
262
- - test/fixtures/api/film_times/71-15840.plist
263
- - test/fixtures/html/cinema/105.html
264
- - test/fixtures/html/cinema/211.html
265
- - test/fixtures/html/cinema/71.html
266
- - test/fixtures/html/showtimes/11-imax.html
267
- - test/fixtures/html/showtimes/171-d-box.html
268
- - test/fixtures/html/showtimes/71-0.html
269
- - test/fixtures/html/showtimes/71.html
270
- - test/fixtures/html/sitemap.html
271
- - test/lib/odeon_uk/api/cinema_test.rb
272
- - test/lib/odeon_uk/api/response_test.rb
273
- - test/lib/odeon_uk/api/screenings_test.rb
191
+ - test/fixtures/api/film_times/71-14876.plist
192
+ - test/fixtures/api/film_times/71-15408.plist
193
+ - test/fixtures/api/film_times/71-15684.plist
194
+ - test/fixtures/api/film_times/71-15866.plist
195
+ - test/fixtures/api/film_times/71-15868.plist
196
+ - test/fixtures/api/film_times/71-15961.plist
197
+ - test/fixtures/api/film_times/71-15963.plist
198
+ - test/fixtures/api/film_times/71-15965.plist
199
+ - test/fixtures/api/film_times/71-15967.plist
200
+ - test/fixtures/api/film_times/71-15969.plist
201
+ - test/fixtures/api/film_times/71-15977.plist
202
+ - test/fixtures/api/film_times/71-15980.plist
203
+ - test/fixtures/api/film_times/71-16037.plist
204
+ - test/fixtures/api/film_times/71-16136.plist
205
+ - test/fixtures/api/film_times/71-16142.plist
206
+ - test/fixtures/api/film_times/71-16143.plist
207
+ - test/fixtures/api/film_times/71-16187.plist
208
+ - test/fixtures/api/film_times/71-16369.plist
209
+ - test/fixtures/api/film_times/71-16370.plist
210
+ - test/fixtures/api/film_times/71-16374.plist
211
+ - test/fixtures/api/film_times/71-16386.plist
212
+ - test/fixtures/api/film_times/71-16387.plist
213
+ - test/fixtures/api/film_times/71-16388.plist
214
+ - test/fixtures/api/film_times/71-16438.plist
215
+ - test/fixtures/api/film_times/71-16454.plist
216
+ - test/fixtures/api/film_times/71-16457.plist
217
+ - test/fixtures/api/film_times/71-16477.plist
218
+ - test/fixtures/api/film_times/71-16478.plist
219
+ - test/fixtures/api/film_times/71-16480.plist
220
+ - test/fixtures/api/film_times/71-16482.plist
221
+ - test/fixtures/api/film_times/71-16489.plist
274
222
  - test/lib/odeon_uk/cinema_test.rb
275
- - test/lib/odeon_uk/configuration_test.rb
276
- - test/lib/odeon_uk/html/cinema_test.rb
277
- - test/lib/odeon_uk/html/parser/film_with_screenings_test.rb
278
- - test/lib/odeon_uk/html/screenings_test.rb
279
- - test/lib/odeon_uk/html/website_test.rb
223
+ - test/lib/odeon_uk/internal/api_response_test.rb
280
224
  - test/lib/odeon_uk/internal/title_sanitizer_test.rb
281
- - test/lib/odeon_uk/screening_test.rb
225
+ - test/lib/odeon_uk/performance_test.rb
282
226
  - test/lib/odeon_uk/version_test.rb
283
227
  - test/support/api_fixtures_helper.rb
284
- - test/support/website_fixtures_helper.rb
228
+ - test/support/fake_api_response.rb
285
229
  - test/test_helper.rb
286
230
  has_rdoc: