Sha256: 3741ffcb5a3a67bfe8f1e7be325b479a376055044830f0b9fe5e508110ea4ae7
Contents?: true
Size: 1.5 KB
Versions: 22
Compression:
Stored size: 1.5 KB
Contents
# frozen_string_literal: true # FIXME: Replace with helpers and/or methods provided by Rails class String ACCENTS = { %w(á à â ä ã Ã Ä Â À) => "a", %w(é è ê ë Ë É È Ê) => "e", %w(í ì î ï I Î Ì) => "i", %w(ó ò ô ö õ Õ Ö Ô Ò) => "o", ["œ"] => "oe", ["ß"] => "ss", %w(ú ù û ü U Û Ù) => "u", %w(ç Ç) => "c" }.freeze 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 # Returns a-string-with-dashes when passed 'a string with dashes'. # All special chars are stripped in the process def to_url return if nil? s = downcase.tr("\"'", "") s = s.gsub(/\P{Word}/, " ") s.strip.tr_s(" ", "-").tr(" ", "-").sub(/^$/, "-") end def to_title(item, settings, params) TitleBuilder.new(self).build(item, settings, params) end # Strips any html markup from a string TYPO_TAG_KEY = 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 def strip_html gsub(TAG, "").gsub(/\s+/, " ").strip end end
Version data entries
22 entries across 22 versions & 2 rubygems