Skip to content
Collection of concerns and helpers for Rails + Mongoid + Character web development
Ruby CoffeeScript CSS HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
app
lib
spec
.coffeescript-style.yml
.coveralls.yml
.gitignore
.hound.yml
.rspec
.ruby-style.yml
.scss-style.yml
.travis.yml
Gemfile
Gemfile.lock
LICENSE.md
README.md
Rakefile
ants.gemspec

README.md

Ants

GitHub version Build Status Code Climate Coverage Status

Collection of concerns and helpers for Rails + Mongoid + Character stack.

Id

Orderable

Adds ordering functionality to the model. Default order is assending by _position field.

Usage:

  include Ants:Orderable

NOTE: If this concern is added to model with already existing documents, value for _position field should be initialized with this command:

ModelClass.all.set(_position: 1000)

OrderableReverse

Meta

Adds set of page meta fields and creates default methods that should be overriden if necessary:

  • _meta_title
  • _meta_description
  • _meta_keywords
  • _opengraph_image_url

Usage:

  include Ants:Meta

Featurable

Hideable

When you need to hide some documents from public or often used as draft analogue:

Usage:

  include Ants:Hideable

Scopes:

  • hidden
  • not_hidden

Helpers:

  • hide!
  • unhide!
  • hidden?

Slug

Scheduled

Sorted Relations

In Mongoid, the HM & HABTM relations return docs in random order. This workaround provides an ability to retrieve related documents in the same order it was stored.

Usage example:

class Post
  include Mongoid::Document
  include Ants::SortedRelations

  field :title

  has_and_belongs_to_many :authors
  sorted_relations_for :authors
end

post = Post.new title: 'RESTful actions with Mongosteen'
post.sorted_author_ids = [ Author.create(name: "Oleksandr Kravets").id,
                           Author.create(name: "Roman Brazhnyk"   ).id,
                           Author.create(name: "Maxim Melnyk"     ).id ]

post.sorted_authors.map(&:name)
#=> ['Alexander Kravets', 'Roman Brazhnyk', 'Maxim Melnyk']

Versions

Provides a helper method to get a list of document versions, used by chr + mongosteen:

Usage:

  include Ants:Versions

Helpers:

  • _document_versions

AdminUsers

Settings

Redirects

Content

Menus

Profile

You can’t perform that action at this time.