class RapidSchedule::LocationDataGenerator

Public Class Methods

new(days) click to toggle source
# File lib/location_data_generator.rb, line 3
def initialize(days)
  @days = days
end

Public Instance Methods

locations_for_day(day) click to toggle source
# File lib/location_data_generator.rb, line 25
def locations_for_day(day)
  day = day_by_name(day["name"])
  locations = []

  day['slots'].each do |slot|
    slot['talks'].each do |talk|
      locations << talk['location'] unless locations.include?(talk['location'])
    end
  end
  locations
end
talks_for_location_for_day(location, day) click to toggle source
# File lib/location_data_generator.rb, line 7
def talks_for_location_for_day(location, day)
  day = day_by_name(day["name"])
  talks_at_location = []

  day['slots'].each do |slot|
    slot['talks'].each do |talk|
      if talk["location"] === location
        talk["start"] = slot["start"]
        talk["end"] = slot["end"]

        talks_at_location << talk

      end
    end
  end
  talks_at_location
end

Private Instance Methods

day_by_name(name) click to toggle source
# File lib/location_data_generator.rb, line 39
def day_by_name(name)
  @days.each { |day| return day if name === day["name"] }
end