Sha256: a759b6002e3142b180a4cc5c04cd4a80d28c73192904d5fdbf720e19fee8303a

Contents?: true

Size: 1.09 KB

Versions: 19

Compression:

Stored size: 1.09 KB

Contents

class Wco::Tag
  include Mongoid::Document
  include Mongoid::Timestamps
  include Mongoid::Paranoia
  store_in collection: 'wco_tags'

  field :slug
  validates :slug, presence: true, uniqueness: true
  index({ slug: -1 })

  # parent-child

  has_many :email_filters, class_name: 'WcoEmail::EmailFilter', inverse_of: :tag

  has_and_belongs_to_many :conversations, class_name: 'WcoEmail::Conversation', index: true
  has_and_belongs_to_many :message_stubs, class_name: 'WcoEmail::MessageStub'
  has_and_belongs_to_many :headlines # ,     class_name: 'Headline'
  has_and_belongs_to_many :leads, index: true # ,         class_name: 'Lead'
  has_and_belongs_to_many :leadsets # ,      class_name: 'Leadset'
  has_and_belongs_to_many :reports
  has_and_belongs_to_many :logs

  INBOX = 'inbox'
  def self.inbox
    find_or_create_by({ slug: INBOX })
  end

  TRASH = 'trash'
  def self.trash
    find_or_create_by({ slug: TRASH })
  end

  SPAM = 'spam'
  def self.spam
    find_or_create_by({ slug: SPAM })
  end

  def to_s
    slug
  end
  def self.list
    [[nil,nil]] + all.map { |p| [ p.slug, p.id ] }
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
wco_models-3.1.0.136 app/models/wco/tag.rb
wco_models-3.1.0.135 app/models/wco/tag.rb
wco_models-3.1.0.134 app/models/wco/tag.rb
wco_models-3.1.0.133 app/models/wco/tag.rb
wco_models-3.1.0.132 app/models/wco/tag.rb
wco_models-3.1.0.131 app/models/wco/tag.rb
wco_models-3.1.0.130 app/models/wco/tag.rb
wco_models-3.1.0.129 app/models/wco/tag.rb
wco_models-3.1.0.128 app/models/wco/tag.rb
wco_models-3.1.0.127 app/models/wco/tag.rb
wco_models-3.1.0.126 app/models/wco/tag.rb
wco_models-3.1.0.125 app/models/wco/tag.rb
wco_models-3.1.0.124 app/models/wco/tag.rb
wco_models-3.1.0.123 app/models/wco/tag.rb
wco_models-3.1.0.122 app/models/wco/tag.rb
wco_models-3.1.0.121 app/models/wco/tag.rb
wco_models-3.1.0.120 app/models/wco/tag.rb
wco_models-3.1.0.119 app/models/wco/tag.rb
wco_models-3.1.0.118 app/models/wco/tag.rb