Sha256: 5ca25ea77ffa4352f060d401d5a21c756c1f4193a82a4b25cc6e4ad202f6e8d0
Contents?: true
Size: 896 Bytes
Versions: 1
Compression:
Stored size: 896 Bytes
Contents
require_relative "age/version" module Unicode module Age class UnknownAge < StandardError; end KNOWN_UNICODE_VERSIONS = [ 1.1, 2.0, 2.1, 3.0, 3.1, 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, 6.0, 6.1, 6.2, 6.3, 7.0, 8.0, 9.0, 10.0 ].freeze KNOWN_UNICODE_REGEXES = KNOWN_UNICODE_VERSIONS.map{ |uv| begin /\A\p{age=#{"%.1f" % uv}}*\z/ rescue RegexpError end }.compact.freeze def self.of(string) raise(UnknownAge, "The string containts unassigned codepoints, so the Unicode version required cannot be determined. Your Ruby version supports Unicode #{UNICODE_VERSION}.") if string =~ /\A\p{Unassigned}*\z/ KNOWN_UNICODE_VERSIONS.find.with_index{ |uv, index| string =~ KNOWN_UNICODE_REGEXES[index] } end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
unicode-age-2.0.0 | lib/unicode/age.rb |