Top Level Namespace

Defined Under Namespace

Modules: Lita

Instance Method Summary collapse

Instance Method Details

#fazer_lunch(at_restaurant_id) ⇒ Object



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# File 'lib/lita/handlers/lunch_menu.rb', line 41

def fazer_lunch(at_restaurant_id)
  begin
    uri = URI('https://www.fazerfoodco.fi/modules/json/json/Index')
    params = { costNumber: at_restaurant_id, language: 'en' }
    uri.query = URI.encode_www_form(params)
    http_response = Net::HTTP.get_response(uri)

    data = MultiJson
           .load(http_response.body)

    name = data['RestaurantName'] || 'Somewhere'
    menu = data['MenusForDays']
           .find { |a| Date.parse(a['Date']) === Date.today }['SetMenus']
           .flat_map { |a| a['Components'] }
           .map { |food| food.split('(')[0] }
           .join("\n-----------\n")
  rescue MultiJson::ParseError => exception
    return '(╯°□°)╯︵ ┻━━┻  Restaurant api is broken!' + exception
  rescue StandardError
    return '(╯°□°)╯︵ ┻━━┻  Nothing found! Starve!'
  end

  "( つ ◕_◕ )つ Today at #{name}\n\n#{menu}"
end