module Rdoba::Mixin::CompareString
Public Instance Methods
compare_to(value, opts = {})
click to toggle source
# File lib/rdoba/mixin.rb, line 15 def compare_to value, opts = {} if ( opts == :ignore_diacritics || opts.class == Hash && opts.key?( :ignore_diacritics ) ) # TODO verify composite range def crop_diacritics(x) (x < 0x300 || x > 0x36f && x < 0x483 || x > 0x487 && x < 0xa67c || x > 0xa67d) && x || nil end ( self.unpack( 'U*' ).map do |x| crop_diacritics( x ) ; end.compact ) <=> ( value.unpack( 'U*' ).map do |x| crop_diacritics( x ) ; end.compact ) else self <=> value ; end ; end
crop_diacritics(x)
click to toggle source
TODO verify composite range
# File lib/rdoba/mixin.rb, line 19 def crop_diacritics(x) (x < 0x300 || x > 0x36f && x < 0x483 || x > 0x487 && x < 0xa67c || x > 0xa67d) && x || nil end