Sha256: b52c040b7e3ee4db1e39d384ba7ee7df40dfd378e0030f00db782ea21ef9b9ba
Contents?: true
Size: 1.1 KB
Versions: 6
Compression:
Stored size: 1.1 KB
Contents
# encoding: UTF-8 class Character::Post include Mongoid::Document include Mongoid::Timestamps include Mongoid::Slug include Mongoid::Search include UpdatedAgo include Hideable # attributes field :title, default: '' field :subtitle, default: '' field :body_html, default: '' field :featured_image, type: Hash, default: { 'url' => '' } field :published_at, type: DateTime, default: -> { DateTime.now } # relations belongs_to :category, class_name: "Character::PostCategory" belongs_to :author, class_name: "Character::PostAuthor" # slugs and search slug :title, history: true search_in :title, :body_html, :category => :title # scopes default_scope -> { order_by(published_at: :desc) } scope :published, -> { where(hidden: false).lte(published_at: DateTime.now) } scope :scheduled, -> { where(hidden: false).gt(published_at: DateTime.now) } scope :drafts, -> { where(hidden: true) } # indexes index({ slug: 1 }) index({ hidden: 1, published_at: -1 }) # helpers def featured_image_url featured_image ? featured_image['url'] : '' end end
Version data entries
6 entries across 6 versions & 1 rubygems