Repeated sentence moved to a function

program.selected_schedule.event_schedules.order(start_time: :asc) was repeated several times and it has been moved to conference#selected_event_schedules
This commit is contained in:
Ana 2016-07-28 17:37:11 +02:00
parent beb17165a2
commit 3897ec79ca
3 changed files with 12 additions and 9 deletions

View file

@ -18,8 +18,8 @@ class ConferenceController < ApplicationController
end
@events = @conference.program.events
@events_xml = @program.selected_schedule.event_schedules.order(start_time: :asc).map(&:event)
.group_by{ |event| event.scheduled_start_time.to_date } if @program.selected_schedule.present?
schedules = @program.selected_event_schedules
@events_xml = schedules.map(&:event).group_by{ |event| event.scheduled_start_time.to_date } if schedules
@dates = @conference.start_date..@conference.end_date
@step_minutes = EventType::LENGTH_STEP.minutes
@conf_start = 9
@ -37,11 +37,9 @@ class ConferenceController < ApplicationController
def events
@dates = @conference.start_date..@conference.end_date
if @program.selected_schedule.present?
@events_schedules = @program.selected_schedule.event_schedules.order(start_time: :asc)
else
@events_schedules = []
end
@events_schedules = @program.selected_event_schedules
@events_schedules = [] unless @events_schedules
@unscheduled_events = @program.events.unscheduled(@program.selected_schedule.id)
day = @conference.current_conference_day

View file

@ -61,6 +61,11 @@ class Program < ActiveRecord::Base
before_create :create_difficulty_levels
validate :check_languages_format
# Returns all event_schedules for the selected schedule ordered by start_time
def selected_event_schedules
selected_schedule.event_schedules.order(start_time: :asc) if selected_schedule
end
##
# Checks if blind_voting is enabled and if voting period is over
# ====Returns

View file

@ -39,8 +39,8 @@ describe ConferenceController do
it 'assigns variables' do
expect(assigns(:conference)).to eq conference
expect(assigns(:events_xml)).to eq conference.program.selected_schedule.event_schedules.order(start_time: :asc)
.map(&:event).group_by{ |event| event.scheduled_start_time.to_date }
expect(assigns(:events_xml)).to eq conference.selected_event_schedules.map(&:event)
.group_by{ |event| event.scheduled_start_time.to_date }
end
it 'renders successfully' do