Sha256: ac88061870eac3c06a39b17aa9494276623bf124c9cc0167ae132fde3c8e3f3a
Contents?: true
Size: 1.5 KB
Versions: 3
Compression:
Stored size: 1.5 KB
Contents
#!/usr/bin/env ruby # UmlautSort -- oddb -- 07.07.2003 -- mhuggler@ywesee.com module ODDB module UmlautSort FILTER_PAIRS = [ [/[ÅÁÂÀÃĄǍĂĀȦåáâàãąǎăāȧ]/u, 'a'], [/[Ḃḃ]/u, 'b'], [/[ÇĈČĆĊçĉčćċ]/u, 'c'], [/[ḐĐÐĎḊḑđðďḋ]/u, 'd'], [/[ËÉÊÈȨĘĚĔẼĒĖëéêèȩęěĕẽēė]/u, 'e'], [/[ÞḞþḟ]/u, 'f'], [/[ĢǦĞǴĜḠĠģǧğǵĝḡġ]/u, 'g'], [/[ȞĤḦḨḢȟĥḧḩḣ]/u, 'h'], [/[ÏÍÎÌĮǏĬĨİïíîìįǐĭĩı]/u, 'i'], [/[Ĵĵ]/u, 'j'], [/[ǨḰĶǩḱķ]/u, 'k'], [/[ŁĹĽĻłĺľļ]/u, 'l'], [/[ḾṀḿṁ]/u, 'm'], [/[ŇŃÑǸŅṄňńñǹņṅ]/u, 'n'], [/[ÓÔÒÕŌŎǪǑȮóôòõōŏøǫǒȯ]/u, 'o'], [/[ṔṖṕṗ]/u, 'p'], [/[ŘŔŖṘřŕŗṙ]/u, 'r'], [/[ŚŜŠŞṠśŝšşṡ]/u, 's'], [/[ŤŢṪťţṫ]/u, 't'], [/[ÚÛÙŲǗǓǙǛŨŬŮǕúûùųǘǔǚǜũŭůǖ]/u, 'u'], [/[Ṽṽ]/u, 'v'], [/[ẂŴẀẄẆẃŵẁẅẇ]/u, 'w'], [/[ẌẊẍẋ]/u, 'x'], [/[ŸẎỸỲŶÝȲÿẏỹỳŷýȳ]/u, 'y'], [/[ŽŹẐŻžźẑż]/u, 'z'] ] def sort_model if(self::class::SORT_DEFAULT && (@session.event != :sort)) @model = @model.sort_by { |item| umlaut_filter(item.send(self::class::SORT_DEFAULT)) } end end def umlaut_filter(itm) if itm.kind_of? String itm = itm.downcase FILTER_PAIRS.each do |search, replace| itm.gsub! search, replace end itm else itm end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
oddb.org-1.0.2 | src/util/umlautsort.rb |
oddb.org-1.0.1 | src/util/umlautsort.rb |
oddb.org-1.0.0 | src/util/umlautsort.rb |