Sha256: 3e1def8bcb72efc61562097bfe163751ed77061c77e94f242f578d4b7ac63242

Contents?: true

Size: 1.11 KB

Versions: 7

Compression:

Stored size: 1.11 KB

Contents

module CortexReaver
  class Journal < Sequel::Model(:journals)
    include CortexReaver::Model::Timestamps
    include CortexReaver::Model::CachedRendering
    include CortexReaver::Model::Renderer
    include CortexReaver::Model::Canonical
    include CortexReaver::Model::Attachments
    include CortexReaver::Model::Comments
    include CortexReaver::Model::Tags
    include CortexReaver::Model::Sequenceable

    many_to_many :tags, :class => 'CortexReaver::Tag'
    belongs_to :user, :class => 'CortexReaver::User'
    has_many :comments, :class => 'CortexReaver::Comment'

    validates do
      uniqueness_of :name
      presence_of :name
      length_of :name, :maximum => 255
      presence_of :title
    end

    render :body

    def self.get(id)
      self[:name => id] || self[id]
    end

    def self.recent
      reverse_order(:created_on).limit(16)
    end

    def self.url
      '/journals'
    end

    def self.atom_url
      '/journals/atom'
    end

    def atom_url
      '/journals/atom/' + name
    end

    def url
      '/journals/show/' + name
    end

    def to_s
      title || name
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
cortex-reaver-0.0.1 lib/cortex_reaver/model/journal.rb
cortex-reaver-0.0.2 lib/cortex_reaver/model/journal.rb
cortex-reaver-0.0.3 lib/cortex_reaver/model/journal.rb
cortex-reaver-0.0.4 lib/cortex_reaver/model/journal.rb
cortex-reaver-0.0.5 lib/cortex_reaver/model/journal.rb
cortex-reaver-0.0.6 lib/cortex_reaver/model/journal.rb
cortex-reaver-0.0.7 lib/cortex_reaver/model/journal.rb