Sha256: 26886a1682fb9c3024e9640c6a3eef142e78477184434fdf3ef282d2fc95fbbc
Contents?: true
Size: 1.16 KB
Versions: 11
Compression:
Stored size: 1.16 KB
Contents
class WcoEmail::Conversation include Mongoid::Document include Mongoid::Timestamps include Mongoid::Paranoia store_in collection: 'office_email_conversations' STATUS_UNREAD = 'status_unread' STATUS_READ = 'status_read' STATUSES = [ STATUS_UNREAD, STATUS_READ ] field :status scope :unread, ->{ where( status: WcoEmail::Conversation::STATUS_UNREAD ) } def unread? status == STATUS_UNREAD end field :subject index({ subject: -1 }) field :latest_at index({ latest_at: -1 }) field :from_emails, type: :array, default: [] index({ from_emails: -1 }) field :preview, default: '' has_many :messages, class_name: '::WcoEmail::Message' has_and_belongs_to_many :tags, class_name: 'Wco::Tag', index: true has_and_belongs_to_many :leadsets, class_name: 'Wco::Leadset', index: true has_and_belongs_to_many :leads, class_name: 'Wco::Lead', index: true belongs_to :filter, class_name: 'WcoEmail::EmailFilter', inverse_of: :conversations, optional: true def cache_key "#{self.class.name} #{id.to_s} #{updated_at}" end def to_s "#{subject} (#{messages.length})" end end Conv = WcoEmail::Conversation
Version data entries
11 entries across 11 versions & 1 rubygems