class PicturehouseUk::Cinema::ListParser

@api private Utility class to parse the links spat out from the options

Public Class Methods

new(nodes) click to toggle source
# File lib/picturehouse_uk/cinema.rb, line 172
def initialize(nodes)
  @nodes = nodes
end

Public Instance Methods

to_hash() click to toggle source
# File lib/picturehouse_uk/cinema.rb, line 176
def to_hash
  @nodes.each_with_object({}) do |node, result|
    result[id(node)] = { name: name(node), url: url(node) }
  end
end

Private Instance Methods

id(node) click to toggle source
# File lib/picturehouse_uk/cinema.rb, line 184
def id(node)
  url(node).match(%r{/cinema/(.+)$})[1]
end
name(node) click to toggle source
# File lib/picturehouse_uk/cinema.rb, line 188
def name(node)
  node.children.first.to_s.split(' — ')[1]
end
url(node) click to toggle source
# File lib/picturehouse_uk/cinema.rb, line 192
def url(node)
  node.get_attribute('data-href')
end