cineworld_uk 4.4.0 → 4.5.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/cineworld_uk.gemspec +1 -1
- data/lib/cineworld_uk/internal/parser/api/film.rb +7 -3
- data/lib/cineworld_uk/internal/title_sanitizer.rb +2 -1
- data/lib/cineworld_uk/performance.rb +1 -0
- data/lib/cineworld_uk/version.rb +2 -2
- data/test/lib/cineworld_uk/internal/title_sanitizer_test.rb +7 -3
- data/test/lib/cineworld_uk/performance_test.rb +10 -0
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 32a0468747af4cbd358050fab82f72bc3a2147622c17b27ca3d475e1e5b78c23
|
|
4
|
+
data.tar.gz: ce49438db281702eee0e8b5639b6481b9b04e02f7aa9cd3622a8a5587dd704a3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9fdd4db3f76e45a60194458d367483038406309d776725784f0c6f7e84ffbbce080f62b50c28941ef84ebf08af556cf6fdf1fb9ffb04b78e591a788e273f7d24
|
|
7
|
+
data.tar.gz: b831436d5a8f9dd5136abccd85c38550b7bff564378b387a2a7f2d4d629a1a2340d310fe7dedc09886f3563a09ab6e7a58bbc6789e13706eb0882d706f30109d
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [4.5.0] - 2026-11-03
|
|
6
|
+
|
|
7
|
+
### Changed
|
|
8
|
+
- Uses cinebase 5.9: performances take the raw `title:`, so audience labels become variants, and series prefixes such as `Met Opera:` become the performance's `event`.
|
|
9
|
+
- National Theatre Live screenings are named `National Theatre Live: `, not `National Theatre: `, before cinebase moves the series to `event`.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
- `Met Opera - Cosi Fan Tutte (Mozart)` is now `Cosi Fan Tutte`: a Met Opera title loses a trailing bracketed composer.
|
|
13
|
+
|
|
5
14
|
## 4.4.0 - 2026-10-31
|
|
6
15
|
|
|
7
16
|
### Added
|
data/cineworld_uk.gemspec
CHANGED
|
@@ -25,6 +25,6 @@ Gem::Specification.new do |spec|
|
|
|
25
25
|
spec.add_development_dependency 'simplecov', '< 1'
|
|
26
26
|
spec.add_development_dependency 'webmock'
|
|
27
27
|
|
|
28
|
-
spec.add_runtime_dependency 'cinebase', '~> 5.
|
|
28
|
+
spec.add_runtime_dependency 'cinebase', '~> 5.9'
|
|
29
29
|
spec.add_runtime_dependency 'nokogiri', '>= 1.11'
|
|
30
30
|
end
|
|
@@ -24,21 +24,25 @@ module CineworldUk
|
|
|
24
24
|
# @param [Integer] year edition when the title gives none
|
|
25
25
|
# @return [Cinebase::Festival, nil]
|
|
26
26
|
def festival(year)
|
|
27
|
-
Cinebase::Festival.from_title(
|
|
27
|
+
Cinebase::Festival.from_title(title, year: year)
|
|
28
28
|
end
|
|
29
29
|
|
|
30
30
|
# @return [Integer, nil] the year at the end of the title
|
|
31
31
|
def film_year
|
|
32
|
-
Cinebase::TitleSanitizer.film_year(
|
|
32
|
+
Cinebase::TitleSanitizer.film_year(title)
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
# Sanitized film name
|
|
36
36
|
# @return [String]
|
|
37
37
|
def name
|
|
38
|
-
title = @data['name'] || ''
|
|
39
38
|
TitleSanitizer.new(title).sanitized
|
|
40
39
|
end
|
|
41
40
|
|
|
41
|
+
# @return [String] the title as listed
|
|
42
|
+
def title
|
|
43
|
+
@data['name'] || ''
|
|
44
|
+
end
|
|
45
|
+
|
|
42
46
|
# List of strings representing different kinds of performance, such
|
|
43
47
|
# as autism, kids, imax, members or q&a
|
|
44
48
|
# @return [Array<String>] or an empty array
|
|
@@ -34,7 +34,8 @@ module CineworldUk
|
|
|
34
34
|
'SciScreen: ', # SciScreen
|
|
35
35
|
/\s(-\s)*(With)*\sLive Q And A/i, # Live Q&A
|
|
36
36
|
/(\s+\-\s+)?MOVIES FOR JUNIORS/i, # movies for juniors
|
|
37
|
-
%r{\s20\d{2}[\/-]20\d{2} Season\b}
|
|
37
|
+
%r{\s20\d{2}[\/-]20\d{2} Season\b},
|
|
38
|
+
/\A(?i:Met Opera)\b.*\K\s*\(\p{Lu}[\p{L}-]+\)\z/ # Met Opera composer
|
|
38
39
|
] + COMMON_REMOVE
|
|
39
40
|
end
|
|
40
41
|
|
data/lib/cineworld_uk/version.rb
CHANGED
|
@@ -42,17 +42,21 @@ class CineworldUk::Internal::TitleSanitizerTest < Minitest::Test
|
|
|
42
42
|
assert_sanitized 'Met Opera: Le Nozze Di Figaro', 'MET Opera - Le Nozze Di Figaro'
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
+
def test_met_opera_drops_composer
|
|
46
|
+
assert_sanitized 'Met Opera: Cosi Fan Tutte', 'Met Opera - Cosi Fan Tutte (Mozart)'
|
|
47
|
+
end
|
|
48
|
+
|
|
45
49
|
def test_nt_live_encore
|
|
46
|
-
assert_sanitized 'National Theatre: Frankenstein (starring Benedict Cumberbatch)',
|
|
50
|
+
assert_sanitized 'National Theatre Live: Frankenstein (starring Benedict Cumberbatch)',
|
|
47
51
|
'NT Live Encore: Frankenstein (starring Benedict Cumberbatch)'
|
|
48
52
|
end
|
|
49
53
|
|
|
50
54
|
def test_nt_live
|
|
51
|
-
assert_sanitized 'National Theatre: Treasure Island', 'NT Live: Treasure Island'
|
|
55
|
+
assert_sanitized 'National Theatre Live: Treasure Island', 'NT Live: Treasure Island'
|
|
52
56
|
end
|
|
53
57
|
|
|
54
58
|
def test_nt_live_with_encore_suffix
|
|
55
|
-
assert_sanitized 'National Theatre: A Streetcar Named Desire (Young Vic)',
|
|
59
|
+
assert_sanitized 'National Theatre Live: A Streetcar Named Desire (Young Vic)',
|
|
56
60
|
'NT Live: A Streetcar Named Desire (Young Vic) - Encore'
|
|
57
61
|
end
|
|
58
62
|
|
|
@@ -70,6 +70,16 @@ class CineworldUk::PerformanceTest < Minitest::Test
|
|
|
70
70
|
assert_equal Cinebase::Festival.new(name: 'Cine-Excess', year: 2026), performance.festival
|
|
71
71
|
end
|
|
72
72
|
|
|
73
|
+
def test_at_names_event_from_title
|
|
74
|
+
stub_showtimes(DATE, showtimes_json.sub('The Example Film', 'Met Opera - Cosi Fan Tutte (Mozart)'))
|
|
75
|
+
performance = CineworldUk::Performance.at(14, from: DATE, to: DATE).first
|
|
76
|
+
|
|
77
|
+
assert_equal 'Met Opera - Cosi Fan Tutte (Mozart)', performance.title
|
|
78
|
+
assert_equal 'Cosi Fan Tutte', performance.film_name
|
|
79
|
+
assert_equal Cinebase::Event.new(name: 'Met Opera'), performance.event
|
|
80
|
+
assert_equal %w(arts audio_described), performance.variant
|
|
81
|
+
end
|
|
82
|
+
|
|
73
83
|
def test_at_parses_format_and_film_year
|
|
74
84
|
performance = performances_on_date[5]
|
|
75
85
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: cineworld_uk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 4.
|
|
4
|
+
version: 4.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andy Croll
|
|
@@ -113,14 +113,14 @@ dependencies:
|
|
|
113
113
|
requirements:
|
|
114
114
|
- - "~>"
|
|
115
115
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '5.
|
|
116
|
+
version: '5.9'
|
|
117
117
|
type: :runtime
|
|
118
118
|
prerelease: false
|
|
119
119
|
version_requirements: !ruby/object:Gem::Requirement
|
|
120
120
|
requirements:
|
|
121
121
|
- - "~>"
|
|
122
122
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: '5.
|
|
123
|
+
version: '5.9'
|
|
124
124
|
- !ruby/object:Gem::Dependency
|
|
125
125
|
name: nokogiri
|
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|