class Gimei class Name attr_reader first: First attr_reader last: Last attr_reader gender: gender_type def self.male: -> Name def self.female: -> Name def self.kanji: (?(gender_type)? gender) -> String def self.hiragana: (?(gender_type)? gender) -> String def self.katakana: (?(gender_type)? gender) -> String def self.romaji: (?(gender_type)? gender) -> String def self.first: (?(gender_type)? gender) -> String def self.last: (?(gender_type)? gender) -> String def self.family: (?(gender_type)? gender) -> String def self.given: (?(gender_type)? gender) -> String def initialize: (?(gender_type)? gender) -> void def kanji: -> String def hiragana: -> String def katakana: -> String def romaji: -> String def male?: -> bool def female?: -> bool alias family last alias given first class First extend Forwardable @gender: gender_type @name: NameWord def self.male: -> First def self.female: -> First def initialize: (?(gender_type)? gender) -> void def kanji: -> String def hiragana: -> String def katakana: -> String def to_s: -> String def romaji: -> String def male?: -> bool def female?: -> bool end class Last extend Forwardable @gender: gender_type @name: NameWord def initialize: -> void def kanji: -> String def hiragana: -> String def katakana: -> String def to_s: -> String def romaji: -> String end class NameWord @name: [String, String, String] def initialize: ([String, String, String] name) -> void def kanji: -> String def hiragana: -> String def katakana: -> String def romaji: -> String end end end