From f6d56ce35e31286158c0c751a069800832d214dc Mon Sep 17 00:00:00 2001 From: AntonioTerceiro Date: Mon, 28 Jan 2008 12:54:45 +0000 Subject: [PATCH] ActionItem41: moving to_slug logic outside of lib/acts_as_filesystem.rb --- config/environment.rb | 4 ++-- lib/acts_as_filesystem.rb | 4 +--- lib/noosfero.rb | 1 + lib/noosfero/core_ext.rb | 1 + lib/noosfero/core_ext/string.rb | 7 +++++++ 5 files changed, 12 insertions(+), 5 deletions(-) create mode 100644 lib/noosfero/core_ext.rb create mode 100644 lib/noosfero/core_ext/string.rb diff --git a/config/environment.rb b/config/environment.rb index 811afed..53a9df3 100644 --- a/config/environment.rb +++ b/config/environment.rb @@ -75,8 +75,8 @@ Localist.callback = lambda { |l| GetText.locale= l } Tag.hierarchical = true -# string transliteration -require 'noosfero/transliterations' +# several local libraries +require 'noosfero' require 'acts_as_filesystem' require 'acts_as_searchable' diff --git a/lib/acts_as_filesystem.rb b/lib/acts_as_filesystem.rb index 45e577c..a536c77 100644 --- a/lib/acts_as_filesystem.rb +++ b/lib/acts_as_filesystem.rb @@ -104,9 +104,7 @@ module ActsAsFileSystem self[:name] = value unless self.name.blank? - # FIXME encapsulate this pattern (transliterate -> downcase -> gsub - # ...) in a String method, say, to_slug - self.slug = self.name.transliterate.downcase.gsub( /[^-a-z0-9~\s\.:;+=_]/, '').gsub(/[\s:;=_+]+/, '-').gsub(/[\-]{2,}/, '-').to_s + self.slug = self.name.to_slug end end diff --git a/lib/noosfero.rb b/lib/noosfero.rb index 0febdef..5a94a07 100644 --- a/lib/noosfero.rb +++ b/lib/noosfero.rb @@ -28,3 +28,4 @@ module Noosfero end require 'noosfero/constants' +require 'noosfero/core_ext' diff --git a/lib/noosfero/core_ext.rb b/lib/noosfero/core_ext.rb new file mode 100644 index 0000000..a09b9d1 --- /dev/null +++ b/lib/noosfero/core_ext.rb @@ -0,0 +1 @@ +require 'noosfero/core_ext/string' diff --git a/lib/noosfero/core_ext/string.rb b/lib/noosfero/core_ext/string.rb new file mode 100644 index 0000000..eb54a28 --- /dev/null +++ b/lib/noosfero/core_ext/string.rb @@ -0,0 +1,7 @@ +require 'noosfero/transliterations' + +class String + def to_slug + transliterate.downcase.gsub( /[^-a-z0-9~\s\.:;+=_]/, '').gsub(/[\s:;=_+]+/, '-').gsub(/[\-]{2,}/, '-').to_s + end +end -- libgit2 0.21.2