31 lines
672 B
Ruby
31 lines
672 B
Ruby
require 'digest/md5'
|
|
|
|
class FlashNotify < ActiveRecord::Base
|
|
# attr_accessible :title, :body
|
|
|
|
STATUSES = %w[error success info]
|
|
|
|
validates :status, inclusion: {in: STATUSES}
|
|
validates :body_ru, :body_en, :status, presence: true
|
|
|
|
scope :published, -> { where(published: true) }
|
|
|
|
attr_accessible :body_ru, :body_en, :status, :published
|
|
|
|
def hash_id
|
|
@digest ||= Digest::MD5.hexdigest("#{self.id}-#{self.updated_at}")
|
|
end
|
|
|
|
def body(language)
|
|
read_attribute("body_#{language}")
|
|
end
|
|
|
|
def should_show?(cookie_hash_id)
|
|
cookie_hash_id != hash_id && published
|
|
end
|
|
|
|
def alert_class
|
|
"alert-#{status == 'error' ? 'danger' : status}"
|
|
end
|
|
end
|