Sha256: 687541ab21a772f15c9cb40e3a02c155421f70d10adc2b7e1e93ba98290c7627
Contents?: true
Size: 1.28 KB
Versions: 9
Compression:
Stored size: 1.28 KB
Contents
# encoding: utf-8 module Nanoc3::StringExtensions # Transforms string into an actual identifier # # @return [String] The identifier generated from the receiver def cleaned_identifier "/#{self}/".gsub(/^\/+|\/+$/, '/') end # Replaces Unicode characters with their ASCII decompositions if the # environment does not support Unicode. # # This method is not suited for general usage. If you need similar # functionality, consider using the Iconv library instead. # # @return [String] The decomposed string def make_compatible_with_env # Check whether environment supports Unicode # FIXME this is ugly, and there most likely are better ways to do this is_unicode_supported = %w( LC_ALL LC_CTYPE LANG ).any? { |e| ENV[e] =~ /UTF/ } return self if is_unicode_supported # Decompose if necessary # FIXME this decomposition is not generally usable self.gsub(/“|”/, '"').gsub(/‘|’/, '\'').gsub('…', '...') end # Calculates the checksum for this string. Any change to this string will # result in a different checksum. # # @return [String] The checksum for this string # # @api private def checksum digest = Digest::SHA1.new digest.update(self) digest.hexdigest end end class String include Nanoc3::StringExtensions end
Version data entries
9 entries across 9 versions & 1 rubygems