Skip to content

Latest commit

 

History

History
69 lines (45 loc) · 1.25 KB

README.md

File metadata and controls

69 lines (45 loc) · 1.25 KB

Publish Build Status Build Status Code Climate

Publish is a gem that adds the common functionality to publish (or set as draft) a document using Mongoid.

Installation

Add to Gemfile

gem "publish", "~> 0.1.1"

Then run

bundle install

Getting started

Include Publish Module to your model

class Post
  include Mongoid::Document
  include Mongoid::Publish

  field :title
  field :text
end

Post.published.count  #0

p = Post.new
p.published?    #false
p.published_at  #nil

p.publish! #p.published = true

p.published?    #true

Post.published.count  #1

p.publication_status #Date.today or 'draft'

Callbacks (before_publish and after_publish)

class Product
  include Mongoid::Document
  include Mongoid::Publish

  field :name

  before_publish do
    puts "before publish"
  end

  after_publish
    puts "after publish"
  end
end

product = Product.new
product.publish! #=> before publish after publish