class Ruboty::UenoParkEvent::Actions::UenoParkEvent

Public Instance Methods

call() click to toggle source
# File lib/ruboty/ueno_park_event/actions/ueno_park_event.rb, line 8
def call
  message.reply(ueno_park_event_text)
rescue => e
  message.reply(e.message)
end

Private Instance Methods

ueno_park_event_doc() click to toggle source
# File lib/ruboty/ueno_park_event/actions/ueno_park_event.rb, line 38
def ueno_park_event_doc
  @ueno_park_event_doc ||= Nokogiri::HTML(ueno_park_event_html)
end
ueno_park_event_html() click to toggle source
# File lib/ruboty/ueno_park_event/actions/ueno_park_event.rb, line 42
def ueno_park_event_html
  @ueno_park_event_html ||= OpenURI.open_uri(ueno_park_event_url)
end
ueno_park_event_text() click to toggle source
# File lib/ruboty/ueno_park_event/actions/ueno_park_event.rb, line 16
def ueno_park_event_text
  title_and_link = ueno_park_events.map {|e|
    "#{e[:text]}#{$/}#{e[:url]}"
  }.join($/)

  image_urls = ueno_park_events.map {|e|
    e[:image_url]
  }.join($/)

  "#{title_and_link}#{$/*3}#{image_urls}"
end
ueno_park_event_url() click to toggle source
# File lib/ruboty/ueno_park_event/actions/ueno_park_event.rb, line 46
def ueno_park_event_url
  'http://museum.guidenet.jp/'
end
ueno_park_events() click to toggle source
# File lib/ruboty/ueno_park_event/actions/ueno_park_event.rb, line 28
def ueno_park_events
  ueno_park_event_doc.search('.exblock .exbox').map {|ev|
    {
      text:      ev.at_css('.extext h3').text.chomp,
      url:       ev.at_css('.extext h3 a')['href'],
      image_url: ev.at_css('.exleaf img')['src']
    }
  }
end