Class: String
- Inherits:
-
Object
- Object
- String
- 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
- #strip_html ⇒ Object
- #to_permalink ⇒ Object
- #to_title(item, settings, params) ⇒ Object
-
#to_url ⇒ Object
Returns a-string-with-dashes when passed ‘a string with dashes’.
Instance Method Details
#strip_html ⇒ Object
44 45 46 |
# File 'lib/transforms.rb', line 44 def strip_html gsub(TAG, "").gsub(/\s+/, " ").strip end |
#to_permalink ⇒ Object
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_url ⇒ Object
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 |