Module: Nanoc3::StringExtensions

Included in:
String
Defined in:
lib/nanoc3/base/core_ext/string.rb

Instance Method Summary (collapse)

Instance Method Details

- (String) cleaned_identifier

Transforms string into an actual identifier

Returns:

  • (String)

    The identifier generated from the receiver



8
9
10
# File 'lib/nanoc3/base/core_ext/string.rb', line 8

def cleaned_identifier
  "/#{self}/".gsub(/^\/+|\/+$/, '/')
end

- (String) make_compatible_with_env

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.

Returns:

  • (String)

    The decomposed string



19
20
21
22
23
24
25
26
27
28
# File 'lib/nanoc3/base/core_ext/string.rb', line 19

def make_compatible_with_env
  # Check whether environment supports Unicode
  # TODO 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
  # TODO this decomposition is not generally usable
  self.gsub(/“|”/, '"').gsub(/‘|’/, '\'').gsub('', '...')
end