This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
Run the following if you haven't already:
gem sources -a http://gems.github.com
Install the gem(s):
sudo gem install aq1018-dm-is-slug
| name | age | message | |
|---|---|---|---|
| |
.gitignore | Wed Dec 24 17:48:37 -0800 2008 | |
| |
History.txt | ||
| |
LICENSE | Sun Jan 11 23:40:12 -0800 2009 | |
| |
Manifest.txt | ||
| |
README.txt | ||
| |
Rakefile | ||
| |
TODO | Mon Jan 12 00:14:46 -0800 2009 | |
| |
dm-is-slug.gemspec | ||
| |
lib/ | Mon Jan 12 02:54:55 -0800 2009 | |
| |
spec/ | ||
| |
tasks/ |
= dm-is-slug
DataMapper plugin for creating and slugs(permalinks).
== Installation
NOTE: You no longer need to download dm-more source code in order to install
this.
All you need to do is:
$ sudo rake install
Remember to require it in your app's init.rb
dependency 'dm-is-slug'
== Getting started
Lets say we have a post-class, and we want to generate permalinks or slugs for all posts.
class Post
include DataMapper::Resource
property :id, Serial
property :title, String
property :content, String
# here we define that it should have a slug that uses title as the permalink
# it will generate an extra slug property of String type, with the same size as title
is :slug, :source => :title
end
Let's Say we need to define a permalink based on a method instead of a property.
class User
include DataMapper::Resource
property :id, Serial
property :email, String
property :password, String
# we only want to strip out the domain name
# and use only the email account name as the permalink
def slug_for_email
email.split("@").first
end
# here we define that it should have a slug that uses title as the permalink
# it will generate an extra slug property of String type, with the same size as title
is :slug, :source => :slug_for_email, :size => 255
end
You can now find objects by slug like this:
post = Post.first(:slug => "your_slug")












