odeon_uk 3.0.6 → 4.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 (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: