Sha256: ba4c3b25f9b70f23bc4b1077f058b87ca6abcbda310aab187413af3ce0280d25

Contents?: true

Size: 808 Bytes

Versions: 3

Compression:

Stored size: 808 Bytes

Contents

# coding: utf-8

unless Symbol.include?(Comparable)
  class Symbol
    include Comparable
    def <=>(other)
      return nil unless other.is_a?(String) || other.is_a?(Symbol)
      to_s <=> other.to_s
    end
  end
end

if RUBY_VERSION < '1.9'
  $KCODE = 'u'
  require 'jcode'

  BibTeX::NameParser.patterns[:upper] = /[[:upper:]ÄÖÜ][^\t\r\n\s\{\}\d\\,]*/o
end

module BibTeX
  begin
    require 'iconv'

    @iconv = Iconv.new('ascii//translit//ignore', 'utf-8')

    def self.transliterate(str)
      @iconv.iconv(str)
    end
  rescue LoadError

    @iconv_replacements = Hash[*%w(ä ae ö oe ü ue Ä Ae Ö Oe Ü Ue ß ss)]

    # Returns +str+ transliterated containing only ASCII characters.
    def self.transliterate(str)
      str.gsub(/[äöüÄÖÜß]/, @iconv_replacements)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bibtex-ruby-3.1.2 lib/bibtex/compatibility.rb
bibtex-ruby-3.1.1 lib/bibtex/compatibility.rb
bibtex-ruby-3.1.0 lib/bibtex/compatibility.rb