Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
basic and simple tagging system for mongoid using map-reduce function
Ruby
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
gemfiles
lib
spec
.gitignore
.rspec
.travis.yml
CHANGELOG.md
Gemfile
Gemfile.lock
LICENSE.txt
README.rdoc
Rakefile
VERSION
donate.png
mongoid-simple-tags.gemspec
mongoid.yml

README.rdoc

mongoid-simple-tags Gem Version

mongoid-simple-tags is a basic and simple tagging system for mongoid using map-reduce function (no backwards compatibility with mongoid v2!)

Install

Add the following to Gemfile:

  gem "mongoid-simple-tags"

Usage

Model

class User
  include Mongoid::Document
  include Mongoid::Document::Taggable
end

Console

u = User.create(:name => "Tuquito", tag_list: "linux, tucuman, free software")

u.tags     # => ["linux","tucuman","free software"]

User.tagged_with("linux") # => [u]
User.tagged_with(["tucuman", "free software"]) # => [u]
User.tagged_with(["linux", "foo"]) # => [u]

User.tagged_with_all(["linux"]) # => [u]
User.tagged_with_all(["linux", "foo"]) # => []

u2 = User.new(:name => "ubuntu")
u2.tag_list = "linux"
u2.save

User.tagged_with("linux") # => [u, u2]
User.tagged_with(["linux", "tucuman"]) # => [u, u2]

User.tagged_with_all(["linux", "tucuman"]) # => [u]

# using map-reduce function

User.all_tags #=>[{:name=>"free software", :count=>1}, {:name=>"linux", :count=>2}, {:name=>"tucuman", :count=>1}]

User.tag_list #=>["free software", "linux", "tucuman"]

Give back

If you're using mongoig-simple-tags and you or your company is making money from it, then please consider donating via Gittip so that I can continue to improve it.

Contributors

Copyright

Copyright © 2011 chebyte(mauro torres). See LICENSE.txt for further details.

Something went wrong with that request. Please try again.