Я использую Ruby on Rails для создания простого приложения для отслеживания времени открытия и закрытия магазина и его встреч, и у меня возникли некоторые проблемы при проверке встреч по закрытиям в расписании магазина.
Я использовал Runt для составления расписания. Например, если магазин открыт в понедельник утром с 9:00 до 12:00 и закрыт на обед на час, а затем открыт во второй половине дня до 17:00, он будет выглядеть следующим образом:
require 'runt'
include Runt
monday = DIWeek.new(Mon)
morning = REDay.new(9,00,12,00)
afternoon = REDAy.new(13,00,17,00)
expr = monday & morning & afternoon
Для данной встречи (также временного выражения Runt), как я могу убедиться, что встреча перекрывает с временем открытия, а не перекрывает час обеда (или в другое время до или после открытия)?
Я так понял, что у Рунта есть совпадения? метод, но если я сделаю что-то вроде:
expr.overlaps?(DIWeek.new(Mon) & REDay.new(10,00,11,00)) # the appointment is from 10-11am on Monday and should overlap the morning opening time
Я получаю эту ошибку:
NoMethodError: undefined method `overlaps?' for #<Runt::Intersect:0x10483cc>
Может кто-нибудь пожалуйста посоветовать мне, как исправить эту ошибку или еще какой-нибудь способ решить эту проблему?