Method: ActiveSupport::Multibyte::Unicode::UnicodeDatabase#load

Defined in:
activesupport/lib/active_support/multibyte/unicode.rb

#loadObject

Loads the Unicode database and returns all the internal objects of UnicodeDatabase.



334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# File 'activesupport/lib/active_support/multibyte/unicode.rb', line 334

def load
  begin
    @codepoints, @composition_exclusion, @composition_map, @boundary, @cp1252 = File.open(self.class.filename, 'rb') { |f| Marshal.load f.read }
  rescue => e
      raise IOError.new("Couldn't load the Unicode tables for UTF8Handler (#{e.message}), ActiveSupport::Multibyte is unusable")
  end

  # Redefine the === method so we can write shorter rules for grapheme cluster breaks
  @boundary.each do |k,_|
    @boundary[k].instance_eval do
      def ===(other)
        detect { |i| i === other } ? true : false
      end
    end if @boundary[k].kind_of?(Array)
  end

  # define attr_reader methods for the instance variables
  class << self
    attr_reader(*ATTRIBUTES)
  end
end