Skip to content

Adds the functionality to publish (or set as draft) a document using Mongoid.

License

Notifications You must be signed in to change notification settings

bulleric/publish

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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'


### This version contain 2 additional functions

p.unpublish!
unpublish an published post.
p.unpublish?
returns true if an post is published else it returns false.

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


  before_unpublish do
    puts "before unpublish"
  end

  after_unpublish
    puts "after unpublish"
  end

end

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

About

Adds the functionality to publish (or set as draft) a document using Mongoid.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 75.0%
  • JavaScript 25.0%