Sha256: 84617195a379ef234080279d7c1a8555ca4ec06bdef2976217f22313329f4f56
Contents?: true
Size: 875 Bytes
Versions: 3
Compression:
Stored size: 875 Bytes
Contents
class Announcement < ActiveRecord::Base validate :posted_at_must_be_before_expired_at, :posted_at_must_exist_if_expired_at_exists def posted_at_must_be_before_expired_at if posted_at && expired_at && posted_at > expired_at errors.add :posted_at, "must be before expiration" end end def posted_at_must_exist_if_expired_at_exists if expired_at && !posted_at errors.add :posted_at, "must exist if expiration exists" end end class << self def disabled where :enabled => false end def enabled where :enabled => true end def active where "posted_at < ? AND (expired_at IS NULL OR expired_at > ?)", DateTime.now, DateTime.now end def expired where "expired_at < ?", DateTime.now end def future where "posted_at IS NULL OR posted_at > ?", DateTime.now end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
cartoonist-announcements-0.0.5 | app/models/announcement.rb |
cartoonist-announcements-0.0.4 | app/models/announcement.rb |
cartoonist-announcements-0.0.3 | app/models/announcement.rb |