Module: Unicode::Age
- Defined in:
- lib/unicode/age.rb,
lib/unicode/age/version.rb
Defined Under Namespace
Classes: UnknownAge
Constant Summary collapse
- 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, 11.0, 12.0, 12.1, ].freeze
- KNOWN_UNICODE_REGEXES =
KNOWN_UNICODE_VERSIONS.map{ |uv| begin /\A\p{age=#{"%.1f" % uv}}*\z/ rescue RegexpError end }.compact.freeze
- VERSION =
"2.1.0"
- UNICODE_VERSION =
"12.1.0"
Class Method Summary collapse
Class Method Details
.of(string) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/unicode/age.rb', line 39 def self.of(string) raise(UnknownAge, "The string contains unassigned codepoints, so the Unicode version required cannot be determined. This gem version supports Unicode upto version #{UNICODE_VERSION}.") if string =~ /\A\p{Unassigned}*\z/ KNOWN_UNICODE_VERSIONS.find.with_index{ |uv, index| string =~ KNOWN_UNICODE_REGEXES[index] } end |