Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Table
- # Checks if the table is available for a given time range.
- #
- # @param [Hash(Symbol => DateTime)] params
- #
- def available_at?(params)
- if (params[:at].class != DateTime); raise ArgumentError, "Provide a DateTime for :at";end;
- if (params[:ending].class != DateTime); raise ArgumentError, "Provide a DateTime for :ending";end;
- return false if
- (TableBooking.all(:at.lte => params[:at], :ending.gte => params[:ending]) +
- TableBooking.all(:at.gte => params[:at], :at.lte => params[:ending]) +
- TableBooking.all(:ending.gte => params[:at], :ending.lte => params[:ending])).count > 0
- true
- end
- end
Add Comment
Please, Sign In to add comment