class Meetup::LocatedEvents

Class to extract the located events from meetup

Attributes

events[R]

Public Class Methods

new(country:, city:, topic: 'none') click to toggle source

TOO SLOW def get_event_category(g)

print g['group']['urlname']
groupurl = g['group']['urlname'] #.encode(Encoding.find('ASCII'))
g = Meetup::MeetupApi.find_group_by_url(groupurl)
g['category'] ? g['category']['short_name'] : 'None'

end

# File lib/meetupevents/event.rb, line 46
def initialize(country:, city:, topic: 'none')
  raw_events = MeetupApi.get_events_city(country, city, topic)
  @events = raw_events.map do |g|
    Concurrent::Promise.execute {
      Meetup::Event.new(name: g['name'], status: g['status'],
                        city: city,
                        description: g['description'],
                        venue: g['venue'] ? g['venue']['name'] : '', # may nil
                        time: g['time'], location: get_event_location(g),
                        url: g['event_url'], topic: topic)
    }
  end
end

Public Instance Methods

get_event_location(e) click to toggle source
# File lib/meetupevents/event.rb, line 29
def get_event_location(e)
  if e['venue']
    Meetup::Location.new(e['venue']['lat'],
                         e['venue']['lon'])
  else
    Meetup::Location.new(e['group']['group_lat'],
                         e['group']['group_lon'])
  end
end