Skip to content

Instantly share code, notes, and snippets.

@paradox460
Created August 29, 2016 17:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save paradox460/c3f0312793ce0b57afb501f06b4b756d to your computer and use it in GitHub Desktop.
Save paradox460/c3f0312793ce0b57afb501f06b4b756d to your computer and use it in GitHub Desktop.
require 'http'
require 'json'
require 'slack-ruby-client'
Slack.configure do |config|
config.token = ''
end
@market = 'https://offthegrid.com/otg-api/passthrough/markets/%d.json/'
UN_PLAZA = (@market % 5).freeze
MINNA = (@market % 1).freeze
un_data = HTTP.get(UN_PLAZA)
minna_data = HTTP.get(MINNA)
un_body = JSON.parse un_data.to_s
minna_body = JSON.parse minna_data.to_s
dataset = nil
venue = nil
venue_id = nil
if un_body.dig('MarketDetail', 'Market', 'Market', 'status') =~ /open/
dataset = un_body
venue = "UN Plaza"
venue_id = 5
elsif minna_body.dig('MarketDetail', 'Market', 'Market', 'status') =~ /open/
dataset = minna_body
venue = "Minna"
venue_id = 1
end
puts "No food trucks today 😢" and exit(false) if dataset.nil?
events = dataset.dig('MarketDetail','Events')
todays_event = events&.find do |e|
unparsed_date = []
unparsed_date << e.dig('Event', 'month_day')
unparsed_date << e.dig('Event', 'year')
date = Date.strptime(unparsed_date.join('.'), '%m.%d.%Y')
(date == Date.today)
end
vendors = todays_event.dig('Vendors')
formatted_vendors = vendors&.map do |vendor|
{
fallback: vendor['name'],
title: vendor['name'],
title_link: vendor['website'],
text: vendor['cuisine'],
thumb_url: vendor['logo_url']
}
end
payload = {
text: "*Today's OffTheGrid is at <https://offthegrid.com/event/#{venue_id}/|#{venue}>*",
username: "OffTheGrid",
icon_url: "https://offthegrid.com/wp-content/uploads/2016/05/cropped-favicon2_360-200x200.png",
attachments: [
*formatted_vendors,
{
fallback: ""
}
]
}
client = Slack::Web::Client.new
client.chat_postMessage(channel: '#general', **payload)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment