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