Skip to content

Commit 7de4d66

Browse files
committed
API response schema update
1 parent 1e13eee commit 7de4d66

File tree

2 files changed

+12
-14
lines changed

2 files changed

+12
-14
lines changed

event.rb

+10-10
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
class MeetupEvent
66
# Can be used like so:
7-
# \n:clock1: #{parse_duration(group['eventSearch']['edges'][0]['node']['duration'])
7+
# \n:clock1: #{parse_duration(group['unifiedEvents']['edges'][0]['node']['duration'])
88
def self.parse_duration(iso8601_duration)
99
match = iso8601_duration.match(/PT((?<hours>\d+(?:\.\d+)?)H)?((?<minutes>\d+(?:\.\d+)?)M)?((?<seconds>\d+(?:\.\d+)?)S)?/)
1010

@@ -27,20 +27,20 @@ def self.within_next_two_weeks?(date_string)
2727
end
2828

2929
def self.format_slack(group)
30-
return if group["eventSearch"]["count"] == 0
30+
return if group["unifiedEvents"]["count"] == 0
3131

32-
return unless within_next_two_weeks?(group["eventSearch"]["edges"][0]["node"]["dateTime"])
32+
return unless within_next_two_weeks?(group["unifiedEvents"]["edges"][0]["node"]["dateTime"])
3333

3434
event_blocks = [{
3535
type: "section",
3636
text: {
3737
type: "mrkdwn",
38-
text: "*#{group["name"]}* - *#{group["eventSearch"]["edges"][0]["node"]["title"]}*\n:calendar: #{DateTime.parse(group["eventSearch"]["edges"][0]["node"]["dateTime"]).strftime("%A, %d %B %Y, %I:%M %p")}\n:busts_in_silhouette: #{group["eventSearch"]["edges"][0]["node"]["going"]} going"
38+
text: "*#{group["name"]}* - *#{group["unifiedEvents"]["edges"][0]["node"]["title"]}*\n:calendar: #{DateTime.parse(group["unifiedEvents"]["edges"][0]["node"]["dateTime"]).strftime("%A, %d %B %Y, %I:%M %p")}\n:busts_in_silhouette: #{group["unifiedEvents"]["edges"][0]["node"]["going"]} going"
3939
},
4040
accessory: {
4141
type: "image",
42-
image_url: group["eventSearch"]["edges"][0]["node"]["imageUrl"],
43-
alt_text: "#{group["name"]} - #{group["eventSearch"]["edges"][0]["node"]["title"]}"
42+
image_url: group["unifiedEvents"]["edges"][0]["node"]["imageUrl"],
43+
alt_text: "#{group["name"]} - #{group["unifiedEvents"]["edges"][0]["node"]["title"]}"
4444
}
4545
},
4646
{
@@ -53,7 +53,7 @@ def self.format_slack(group)
5353
text: ":dart: RSVP",
5454
emoji: true
5555
},
56-
url: group["eventSearch"]["edges"][0]["node"]["eventUrl"]
56+
url: group["unifiedEvents"]["edges"][0]["node"]["eventUrl"]
5757
}
5858
]
5959
},
@@ -65,9 +65,9 @@ def self.format_slack(group)
6565
event_blocks[0][:text][:text].prepend(":tampadevs: ")
6666
end
6767

68-
if group["eventSearch"]["edges"][0]["node"]["venue"]
69-
event_blocks[0][:text][:text] += if group["eventSearch"]["edges"][0]["node"]["venue"]["name"] != "Online event"
70-
"\n\n:round_pushpin: <https://www.google.com/maps/dir/?api=1&destination=#{group["eventSearch"]["edges"][0]["node"]["venue"].map { |k, v| "#{k}=#{URI.encode_www_form_component(v)}" }.join("&")}|#{group["eventSearch"]["edges"][0]["node"]["venue"].values.join(", ")}>"
68+
if group["unifiedEvents"]["edges"][0]["node"]["venue"]
69+
event_blocks[0][:text][:text] += if group["unifiedEvents"]["edges"][0]["node"]["venue"]["name"] != "Online event"
70+
"\n\n:round_pushpin: <https://www.google.com/maps/dir/?api=1&destination=#{group["unifiedEvents"]["edges"][0]["node"]["venue"].map { |k, v| "#{k}=#{URI.encode_www_form_component(v)}" }.join("&")}|#{group["unifiedEvents"]["edges"][0]["node"]["venue"].values.join(", ")}>"
7171
else
7272
"\n\n:computer: Online event"
7373
end

main.rb

+2-4
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,11 @@ def fetch
1919
formatted_events = []
2020

2121
groups.each do |group|
22-
sorted_events << group[1] unless group[1]["eventSearch"]["count"] == 0
22+
sorted_events << group[1] unless group[1]["unifiedEvents"]["count"] == 0 || group[1]["unifiedEvents"]["edges"].empty?
2323
end
2424

25-
sorted_events.reject! { |e| e["eventSearch"]["edges"].empty? }
26-
2725
sorted_events.sort! do |a, b|
28-
DateTime.parse(a["eventSearch"]["edges"][0]["node"]["dateTime"]) <=> DateTime.parse(b["eventSearch"]["edges"][0]["node"]["dateTime"])
26+
DateTime.parse(a["unifiedEvents"]["edges"][0]["node"]["dateTime"]) <=> DateTime.parse(b["unifiedEvents"]["edges"][0]["node"]["dateTime"])
2927
end
3028

3129
sorted_events.each do |group|

0 commit comments

Comments
 (0)