Sha256: badfb4fb715640a42d2fe7bdf084a9423b7e7792efb437fb052e01148ca85416

Contents?: true

Size: 453 Bytes

Versions: 11

Compression:

Stored size: 453 Bytes

Contents

# encoding: utf-8
#
module UmlautSubstituter
  def substitute_umlauts text
    trans = ActiveSupport::Multibyte.proxy_class.new(text).normalize(:kd)

    # substitute special cases
    #
    trans.gsub!('ß', 'ss')

    # substitute umlauts (of A,O,U,a,o,u)
    #
    trans.gsub!(/([AOUaou])\314\210/u, '\1e')

    # get rid of ecutes, graves and …
    #
    trans.unpack('U*').select { |cp|
      cp < 0x0300 || cp > 0x035F
    }.pack('U*')
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
picky-0.2.1 lib/picky/umlaut_substituter.rb
picky-0.2.0 lib/picky/umlaut_substituter.rb
picky-0.1.0 lib/picky/umlaut_substituter.rb
picky-0.0.9 lib/picky/umlaut_substituter.rb
picky-0.0.8 lib/picky/umlaut_substituter.rb
picky-0.0.7 lib/picky/umlaut_substituter.rb
picky-0.0.6 lib/picky/umlaut_substituter.rb
picky-0.0.5 lib/picky/umlaut_substituter.rb
picky-0.0.4 lib/picky/umlaut_substituter.rb
picky-0.0.3 lib/picky/umlaut_substituter.rb
picky-0.0.2 lib/picky/umlaut_substituter.rb