Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/transforms.rb

Overview

FIXME: Replace with helpers and/or methods provided by Rails

Constant Summary collapse

ACCENTS =
{ %w(á à â ä ã Ã Ä Â À) => "a",
%w(é è ê ë Ë É È Ê) => "e",
%w(í ì î ï I Î Ì) => "i",
%w(ó ò ô ö õ Õ Ö Ô Ò) => "o",
["œ"] => "oe",
["ß"] => "ss",
%w(ú ù û ü U Û Ù) => "u",
%w(ç Ç) => "c" }.freeze
TYPO_TAG_KEY =

Strips any html markup from a string

TYPO_ATTRIBUTE_KEY = /[\w:_-]+/.freeze
TYPO_ATTRIBUTE_VALUE =
/(?:[A-Za-z0-9]+|(?:'[^']*?'|"[^"]*?"))/.freeze
TYPO_ATTRIBUTE =
/(?:#{TYPO_ATTRIBUTE_KEY}(?:\s*=\s*#{TYPO_ATTRIBUTE_VALUE})?)/.freeze
TYPO_ATTRIBUTES =
/(?:#{TYPO_ATTRIBUTE}(?:\s+#{TYPO_ATTRIBUTE})*)/.freeze
TAG =
%r{<[!/?\[]?(?:#{TYPO_TAG_KEY}|--)(?:\s+#{TYPO_ATTRIBUTES})?\s*(?:[!/?\]]+|--)?>}.freeze

Instance Method Summary collapse

Instance Method Details

#strip_htmlObject



44
45
46
# File 'lib/transforms.rb', line 44

def strip_html
  gsub(TAG, "").gsub(/\s+/, " ").strip
end


14
15
16
17
18
19
20
21
# File 'lib/transforms.rb', line 14

def to_permalink
  string = self
  ACCENTS.each do |key, value|
    string = string.tr(key.join, value)
  end
  string = string.tr("'", "-")
  string.gsub(/<[^>]*>/, "").to_url
end

#to_title(item, settings, params) ⇒ Object



33
34
35
# File 'lib/transforms.rb', line 33

def to_title(item, settings, params)
  TitleBuilder.new(self).build(item, settings, params)
end

#to_urlObject

Returns a-string-with-dashes when passed ‘a string with dashes’. All special chars are stripped in the process



25
26
27
28
29
30
31
# File 'lib/transforms.rb', line 25

def to_url
  return if nil?

  s = downcase.tr("\"'", "")
  s = s.gsub(/\P{Word}/, " ")
  s.strip.tr_s(" ", "-").tr(" ", "-").sub(/^$/, "-")
end