From 117b4e939813696b422631fdd9ee31664bafce8d Mon Sep 17 00:00:00 2001 From: Dan Barber Date: Tue, 12 Feb 2013 17:15:51 +0000 Subject: [PATCH] Add delimiter substitution for slugs. --- lib/slugtastic.rb | 8 ++++++-- lib/slugtastic/version.rb | 2 +- spec/slugtastic_spec.rb | 4 ++++ 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/slugtastic.rb b/lib/slugtastic.rb index bc19035..1375cbc 100644 --- a/lib/slugtastic.rb +++ b/lib/slugtastic.rb @@ -3,8 +3,12 @@ require "slugtastic/model_additions" require "slugtastic/railtie" if defined? Rails module Slugtastic - def self.generate_slug(string) + def self.generate_slug(string, delimiter = nil) return if string.nil? - string.parameterize + slug = string.parameterize + if delimiter + slug.gsub!("-", delimiter) + end + slug end end diff --git a/lib/slugtastic/version.rb b/lib/slugtastic/version.rb index 7c707ba..c8bb2db 100644 --- a/lib/slugtastic/version.rb +++ b/lib/slugtastic/version.rb @@ -1,3 +1,3 @@ module Slugtastic - VERSION = "1.1.0" + VERSION = "1.2.0-alpha" end diff --git a/spec/slugtastic_spec.rb b/spec/slugtastic_spec.rb index af5fb66..1f1f3e7 100644 --- a/spec/slugtastic_spec.rb +++ b/spec/slugtastic_spec.rb @@ -11,6 +11,10 @@ describe Slugtastic do Slugtastic.generate_slug("A simple string.").should eq "a-simple-string" end + it "substitutes hyphens for delimiter if specified" do + Slugtastic.generate_slug("A simple string.", "_").should eq "a_simple_string" + end + it "generates a slug from a string with numbers" do Slugtastic.generate_slug("Slugtastic was built in 2012.").should eq "slugtastic-was-built-in-2012" end