clarion/app/controllers/schedule.rb
2014-11-01 04:04:51 +02:00

26 lines
721 B
Ruby

class Schedule
include ActiveModel::Model
attr_accessor :hall, :slots
def self.for_conference(conference)
schedule = {}
conference.halls.each do |hall|
schedule[hall.id] = hall.slots.includes(:event, event: [:speakers]).where('starts_at < ?', Date.tomorrow).where.not(event_id: nil).order(:starts_at).map do |slot|
{
title: slot.event.title,
subtitle: slot.event.subtitle,
startTime: slot.starts_at,
endTime: slot.ends_at,
speakers: slot.event.speakers.map do |speaker|
{
name: speaker.name,
description: speaker.biography
}
end
}
end
end
schedule
end
end