30 lines
753 B
Ruby
30 lines
753 B
Ruby
|
module Autostart
|
||
|
extend ActiveSupport::Concern
|
||
|
|
||
|
ONCE_A_12_HOURS = 0
|
||
|
ONCE_A_DAY = 1
|
||
|
ONCE_A_WEEK = 2
|
||
|
|
||
|
AUTOSTART_STATUSES = [ONCE_A_12_HOURS, ONCE_A_DAY, ONCE_A_WEEK]
|
||
|
HUMAN_AUTOSTART_STATUSES = {
|
||
|
ONCE_A_12_HOURS => :once_a_12_hours,
|
||
|
ONCE_A_DAY => :once_a_day,
|
||
|
ONCE_A_WEEK => :once_a_week
|
||
|
}
|
||
|
|
||
|
included do
|
||
|
validates :autostart_status, numericality: true,
|
||
|
inclusion: {in: AUTOSTART_STATUSES}, allow_blank: true
|
||
|
end
|
||
|
|
||
|
def human_autostart_status
|
||
|
self.class.human_autostart_status(autostart_status)
|
||
|
end
|
||
|
|
||
|
module ClassMethods
|
||
|
def human_autostart_status(autostart_status)
|
||
|
I18n.t("layout.products.autostart_statuses.#{HUMAN_AUTOSTART_STATUSES[autostart_status]}")
|
||
|
end
|
||
|
end
|
||
|
end
|