module ToSlugParam

Constants

REPLACE_SPEC_SYMB_REGEXP
SPECIAL_SYMBOLS

Public Class Methods

parameterize(str, sep) click to toggle source
# File lib/to_slug_param.rb, line 18
def parameterize(str, sep)
  str = str.to_s.strip.gsub(/[[:space:]]/, sep)
  str = str.gsub(REPLACE_SPEC_SYMB_REGEXP, sep)
  remove_sep_duplications(str, sep)
end
rails_to_param(str, sep) click to toggle source
# File lib/to_slug_param.rb, line 32
def rails_to_param(str, sep)
  Rails::VERSION::MAJOR > 4          ? \
    ActiveSupport::Inflector.parameterize(str, separator: sep) : \
    ActiveSupport::Inflector.parameterize(str, sep)
end
remove_sep_duplications(str, sep) click to toggle source
# File lib/to_slug_param.rb, line 24
def remove_sep_duplications str, sep
  escaped_sep = Regexp.escape sep

  str.gsub(/\A#{escaped_sep}{1,}/, '')
     .gsub(/#{escaped_sep}{2,}/, sep)
     .gsub(/#{escaped_sep}{1,}\z/, '').to_s
end