class CineworldUk::Internal::Parser::Api::Film
Parses a hash to produce film information
Attributes
id[R]
the cineworld id for the film
Public Class Methods
new(data)
click to toggle source
@param [Hash] data parsed from performances JSON @return [ CineworldUk::Internal::Parser::Api::Film]
# File lib/cineworld_uk/internal/parser/api/film.rb, line 13 def initialize(data) @data = data @id = @data['edi'] end
Public Instance Methods
dimension()
click to toggle source
Do you need your 3D glasses? @return [String] either '2d' or '3d'
# File lib/cineworld_uk/internal/parser/api/film.rb, line 20 def dimension @data['format'] =~ /3D/i ? '3d' : '2d' end
name()
click to toggle source
Sanitized film name @return [String]
# File lib/cineworld_uk/internal/parser/api/film.rb, line 26 def name TitleSanitizer.new(@data['originalTitle'] || '').sanitized end
variant()
click to toggle source
List of strings representing different kinds of performance, such as autism, kids, imax, members or q&a @return [Array<String>] or an empty array
# File lib/cineworld_uk/internal/parser/api/film.rb, line 33 def variant [ @data['title'] =~ /Autism Friendly/i ? 'autism_friendly' : nil, @data.fetch('format', '') =~ /IMAX/i ? 'imax' : nil, @data['title'] =~ /Movies for Juniors/i ? 'kids' : nil, @data['title'] =~ /Unlimited Screening/i ? 'members' : nil, @data['title'] =~ /Q (and|&) A/i ? 'q&a' : nil ].compact end