Вам нужно подробнее рассказать о том, что вы хотите сделать.
Например, какое «разрешение» вам нужно? Планируете ли вы записывать каждый рабочий час каждого дня? Или просто средняя ежемесячная нагрузка? Может, за неделю?
Кроме того, что вы хотите делать с праздниками и больничными?
(РЕДАКТИРОВАТЬ - отвечая на комментарий ниже)
В вашем случае я бы выбрал модель, подобную этой:
class WorkSlice < ActiveRecord::Base
belongs_to :employee
validates_presence_of employee_id, start_date, end_date, percentage
def calculate_hours
#employees might have different hours per day (i.e. UK has 7, Spain has 8)
employee.hours_per_day * self.calculate_days
end
def calculate_days
#days between start_day and end_day that are not sick days, holidays or weekends
workdays = ... #this depends on how you model holidays, etc
return workdays * self.percentage
end
end
Насколько я знаю, единственное, что вам нужно - это "сотрудник". Например, метод наемного работника позволит вам увидеть, насколько «свободен» этот сотрудник на данную дату.