gxg-web-client/gxg/core/character.rb
2021-11-16 08:58:51 -08:00

55 lines
1.5 KiB
Ruby

module Rubinius
class Character < ::String
def self.__allocate__
Rubinius.primitive :character_allocate
raise PrimitiveFailure, "Rubinius::Character.allocate primitive failed"
end
def self.allocate
chr = __allocate__
chr.__data__ = Rubinius::ByteArray.allocate_sized(1)
chr.num_bytes = 0
chr
end
def alphabetical?
Rubinius.primitive :character_alphabetical_p
raise PrimitiveFailure, "Rubinius::Character#alphabetical? primitive failed"
end
def ascii?
Rubinius.primitive :character_ascii_p
raise PrimitiveFailure, "Rubinius::Character#ascii? primitive failed"
end
def digit?
Rubinius.primitive :character_digit_p
raise PrimitiveFailure, "Rubinius::Character#digit? primitive failed"
end
def lower?
Rubinius.primitive :character_lower_p
raise PrimitiveFailure, "Rubinius::Character#lower? primitive failed"
end
def printable?
Rubinius.primitive :character_printable_p
raise PrimitiveFailure, "Rubinius::Character#printable? primitive failed"
end
def punctuation?
Rubinius.primitive :character_punctuation_p
raise PrimitiveFailure, "Rubinius::Character#punctuation? primitive failed"
end
def space?
Rubinius.primitive :character_space_p
raise PrimitiveFailure, "Rubinius::Character#space? primitive failed"
end
def upper?
Rubinius.primitive :character_upper_p
raise PrimitiveFailure, "Rubinius::Character#upper? primitive failed"
end
end
end