Sha256: 519eddd37ad5e4af861f1334614ecc9346ecc88558c45ac58db33c5283207ce0
Contents?: true
Size: 982 Bytes
Versions: 7
Compression:
Stored size: 982 Bytes
Contents
module PicturehouseUk # @api private module Internal # Parses a chunk of HTML to derive address class AddressParser # @param [String] node the HTML to parse into an address # @return [PicturehouseUk::Internal::AddressParser] def initialize(html) @html = html end # @return [Hash] contains :street_address, :extended_address, :locality, # :postal_code, :country # @note Uses the address naming from http://microformats.org/wiki/adr def address { street_address: array[1], extended_address: array.length > 5 ? array[2] : nil, locality: town, region: array[-2] == town ? nil : array[-2], postal_code: array[-1], country: 'United Kingdom' } end private def town @town ||= array[0].split(', ')[-1] end def array @array ||= @html.gsub(/\<.?p.?\>/, '').split('<br>') end end end end
Version data entries
7 entries across 7 versions & 1 rubygems