Sha256: e9ef1382973220ea97d80e663c758a3b0ab20d6a439a932af67d942ea5f3c7af
Contents?: true
Size: 1.14 KB
Versions: 2
Compression:
Stored size: 1.14 KB
Contents
# -*- coding: utf-8 -*- # # Сообщения от системы пользователю для отображения их через flash. Например: # # :import_contacts - импортированы контакты # :import_events - импортированы мероприятия # # Сообщения посылаются так: # # user.notice :import_contacts, :provider=>:facebook # # Тексты сообщений описываются в локали class GritterNotice < ActiveRecord::Base belongs_to :owner, :polymorphic=>true scope :delivered, where("delivered_at is not nul").order('delivered_at') scope :fresh, where("delivered_at is null").order('created_at').limit(5) serialize :options, Hash before_validation :set_options validates_presence_of :owner, :message def fresh? delivered_at.blank? end def delivered? not fresh? end def destroy_after_deliver? true end def mark_as_delivered if destroy_after_deliver? destroy else update_attribute :delivered_at, Time.now end end private def set_options self.options={} unless self.options end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gritter_notices-0.3.1 | app/models/gritter_notice.rb |
gritter_notices-0.2.0 | app/models/gritter_notice.rb |