mirror of
https://github.com/mistergibson/gxg-web-client.git
synced 2026-08-15 11:34:29 -07:00
55 lines
1.5 KiB
Ruby
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
|