Sha256: 3e56aa262b115d19ee39e07137c2f1e1be22439d8ed5353f58612252d6ef2b98
Contents?: true
Size: 1.01 KB
Versions: 2
Compression:
Stored size: 1.01 KB
Contents
require 'dm-timestamps' class OrangeBlogPost < Orange::Carton id front do title :title fulltext :body end admin do fulltext :summary end orange do boolean :published, :default => false text :slug text :author end property :created_at, DateTime property :published_at, DateTime property :updated_at, DateTime belongs_to :blog, "OrangeBlog" def title=(t) self.attribute_set('title', t) self.attribute_set('slug', str.downcase.gsub(/[']+/, "").gsub(/[^a-z0-9]+/, "_")) end def publish self.published_at = Time.now self.published = true end def publish! self.published_at = Time.now self.published = true self.save end def self.year_and_month(yr, mnth) all(:published_at.gte => DateTime.new(yr, mnth, 1), :published_at.lt => DateTime.new(yr, mnth + 1, 1)) end def self.slug(slug) first(:slug => slug) end def self.published all(:published => true) end def self.draft all(:published => false) end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
orange-0.1.7 | lib/orange-more/blog/cartons/blog_post.rb |
orange-0.1.4 | lib/orange-more/blog/cartons/blog_post.rb |