Sha256: d1588bff2c5b2346bece2fa4a7c104d4d03a800802a8cdded214cc46243b9bcc

Contents?: true

Size: 656 Bytes

Versions: 3

Compression:

Stored size: 656 Bytes

Contents

module Extensions::String
  def linkify
    result = self.downcase
    result.gsub!(/&(\d)+;/, '')  # Ditch Entities
    result.gsub!('&', 'and')     # Replace & with 'and'
    result.gsub!(/['"]/, '')    # replace quotes by nothing
    result.gsub!(/\W/, ' ')     # strip all non word chars
    result.gsub!(/\ +/, '-')    # replace all white space sections with a dash
    result.gsub!(/(-)$/, '')    # trim dashes
    result.gsub!(/^(-)/, '')    # trim dashes
    result.gsub!(/[^a-zA-Z0-9\-]/, '-') # Get rid of anything we don't like
    result
  end

  def linkify!
    self.replace(self.linkify)
  end
end

String.send(:include, Extensions::String)

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
spree_wordsmith-0.1.0 lib/extensions/string.rb
spree_cms-0.0.4 lib/extensions/string.rb
spree_cms-0.0.3 lib/extensions/string.rb