1
0
mirror of https://github.com/danbee/slugtastic synced 2025-03-04 08:49:05 +00:00

Initial commit.

This commit is contained in:
Dan Barber 2011-10-04 15:39:51 +01:00
commit faca6e4309
5 changed files with 70 additions and 0 deletions

4
Manifest Normal file
View File

@ -0,0 +1,4 @@
README.md
Rakefile
lib/slugtastic.rb
Manifest

0
README.md Normal file
View File

14
Rakefile Normal file
View File

@ -0,0 +1,14 @@
require 'rubygems'
require 'rake'
require 'echoe'
Echoe.new('slugtastic', '0.1.0') do |p|
p.description = "Generate a slug string from another field."
p.url = "http://github.com/danbee/slugtastic"
p.author = "Dan Barber"
p.email = "danbee@gmail.com"
p.ignore_pattern = ["tmp/*", "script/*"]
p.development_dependencies = []
end
Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }

23
lib/slugtastic.rb Normal file
View File

@ -0,0 +1,23 @@
module Slugtastic
def self.included(base)
base.extend ClassMethods
end
def generate_slug(string)
string.downcase.gsub(/ /, '_').gsub(/[^a-z0-9\-_]/, '')
end
module ClassMethods
def has_slug(name, options = { :from => :title })
before_validation do |record|
self[name] = generate_slug(self[options[:from]]) if self[name].nil? or self[name].empty?
end
end
end
end
class ActiveRecord::Base
include Slugtastic
end

29
slugtastic.gemspec Normal file
View File

@ -0,0 +1,29 @@
# -*- encoding: utf-8 -*-
Gem::Specification.new do |s|
s.name = %q{slugtastic}
s.version = "0.1.0"
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
s.authors = [%q{Dan Barber}]
s.date = %q{2011-10-04}
s.description = %q{Generate a slug string from another field.}
s.email = %q{danbee@gmail.com}
s.extra_rdoc_files = [%q{README.md}, %q{lib/slugtastic.rb}]
s.files = [%q{README.md}, %q{Rakefile}, %q{lib/slugtastic.rb}, %q{Manifest}, %q{slugtastic.gemspec}]
s.homepage = %q{http://github.com/danbee/slugtastic}
s.rdoc_options = [%q{--line-numbers}, %q{--inline-source}, %q{--title}, %q{Slugtastic}, %q{--main}, %q{README.md}]
s.require_paths = [%q{lib}]
s.rubyforge_project = %q{slugtastic}
s.rubygems_version = %q{1.8.6}
s.summary = %q{Generate a slug string from another field.}
if s.respond_to? :specification_version then
s.specification_version = 3
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
else
end
else
end
end