"Can a list of meetings all be scheduled in a conference room?"
Like knut suggested, a simple solution would be to sort the meetings by start time and for each check if it conflicts with the next.

E.g. given a list of meetings:

conflict = meetings.sort_by(&amp;:start_time).each_cons(2).any? do |a, b|
  a.end_time &gt; b.start_time
end


No need to model a conference room, or raise exceptions; conflict will indicate if the meetings overlap or not.

If the question involved a list of pre-scheduled meetings, and having to check if a new meeting would fit, it'd be a different story. You could use something like this, but the question doesn't call for it.

As for the rest of your code, a few things stood out to me:


does_not_overlap? is a bit odd


it's a negative assertion, rather than overlaps?
why not pass in a Meeting instance instead of start and end times?
and it's got a syntax error (hanging ||)

ConferenceRoom should use the attr_accessor you created or at least @meetings – not self.meetings.
You raise which, yes, is a sort of output, but it's a bit much. All the question needs is a boolean answer.