class Sesc::Parser::Sp::Events
Constants
- VALUES
Public Class Methods
new(html_body_events)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 12 def initialize(html_body_events) @events = Body.new(html_body_events).events end
Public Instance Methods
to_hash()
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 16 def to_hash group_by_place(load_events) end
Private Instance Methods
age_limit(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 76 def age_limit(event) event.elements[3].children[3].elements.last.text end
availability(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 43 def availability(event) event.elements[0].css('span').last.children.first&.text end
category(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 47 def category(event) event.elements[1].css('p').first.children[1].text end
clear_text_for(text)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 85 def clear_text_for(text) text.delete("\r").delete("\n").delete("\t").strip end
date(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 55 def date(event) clear_text_for( event.elements[1].css('span').first.children.first.text ) end
description(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 70 def description(event) clear_text_for( event.elements[1].css('form').last.children[1].children.first.text ) end
group_by_place(events)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 30 def group_by_place(events) events.group_by { |event| event[:place] } end
hours(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 61 def hours(event) clear_text_for(event.elements[1].css('span')[1].children.first.text) end
image_url(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 38 def image_url(event) i = event.elements[0].css('span').first i.attributes.values.last.value[22..-3] end
load_events()
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 22 def load_events @events.map do |event| VALUES.each_with_object({}) do |value, memo| memo[value] = send(value, event) end end end
place(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 65 def place(event) p = event.elements[1].css('span')[2].children.first.text "SESC #{clear_text_for(p)}" end
price(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 80 def price(event) p = clear_text_for(event.elements[3].children[5].text) p.split('R$ ').join(' R$ ').strip end
title(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 51 def title(event) event.elements[1].css('a')[1].attributes['data-ga-action'].value end
url(event)
click to toggle source
# File lib/sesc/parser/sp/events.rb, line 34 def url(event) event.elements[0].css('a').first.attributes['href'].value end