Use Kernel.validate

This commit is contained in:
jonisavo
2020-10-16 11:15:26 +03:00
parent 5a3879f294
commit 89b490736d

View File

@@ -117,13 +117,13 @@ class Pokemon
# Ownership, obtained information # Ownership, obtained information
#============================================================================= #=============================================================================
# Stores information on a Pokémon's owner. # Stores information about a Pokémon's owner.
class Owner class Owner
# @return [Integer] the ID of the owner # @return [Integer] the ID of the owner
attr_reader :id attr_reader :id
# @return [String] the name of the owner # @return [String] the name of the owner
attr_reader :name attr_reader :name
# @return [0, 1, 2] the gender of the owner (0 = male, 1 = female, 2 = unknown) # @return [Integer] the gender of the owner (0 = male, 1 = female, 2 = unknown)
attr_reader :gender attr_reader :gender
# @return [Integer] the language of the owner (see {pbGetLanguage} for language IDs) # @return [Integer] the language of the owner (see {pbGetLanguage} for language IDs)
attr_reader :language attr_reader :language
@@ -133,6 +133,7 @@ class Pokemon
# @param gender [Integer] the gender of the owner (0 = male, 1 = female, 2 = unknown) # @param gender [Integer] the gender of the owner (0 = male, 1 = female, 2 = unknown)
# @param language [Integer] the language of the owner (see {pbGetLanguage} for language IDs) # @param language [Integer] the language of the owner (see {pbGetLanguage} for language IDs)
def initialize(id, name, gender, language) def initialize(id, name, gender, language)
validate id => Integer, name => String, gender => Integer, language => Integer
@id = id @id = id
@name = name @name = name
@gender = gender @gender = gender
@@ -143,34 +144,31 @@ class Pokemon
# @param trainer [PokeBattle_Trainer] trainer object to read data from # @param trainer [PokeBattle_Trainer] trainer object to read data from
# @return [Owner] new owner object # @return [Owner] new owner object
def self.new_from_trainer(trainer) def self.new_from_trainer(trainer)
validate trainer => PokeBattle_Trainer
return new(trainer.id, trainer.name, trainer.gender, trainer.language) return new(trainer.id, trainer.name, trainer.gender, trainer.language)
end end
# @param new_id [Integer] new owner ID
def id=(new_id) def id=(new_id)
unless new_id.is_a?(Integer) validate new_id => Integer
raise ArgumentError, _INTL('A {1} was given as Pokémon owner id', new_id.class.name)
end
@id = new_id @id = new_id
end end
# @param new_name [String] new owner name
def name=(new_name) def name=(new_name)
unless new_name.is_a?(String) validate new_name => String
raise ArgumentError, _INTL('A {1} was given as Pokémon owner id', new_name.class.name)
end
@name = new_name @name = new_name
end end
# @param new_gender [Integer] new owner gender
def gender=(new_gender) def gender=(new_gender)
unless new_gender.is_a?(Integer) validate new_gender => Integer
raise ArgumentError, _INTL('A {1} was given as Pokémon owner id', new_gender.class.name)
end
@gender = new_gender @gender = new_gender
end end
# @param new_language [Integer] new owner language
def language=(new_language) def language=(new_language)
unless new_language.is_a?(Integer) validate new_language => Integer
raise ArgumentError, _INTL('A {1} was given as Pokémon owner id', new_language.class.name)
end
@language = new_language @language = new_language
end end
@@ -188,9 +186,7 @@ class Pokemon
# Changes this Pokémon's owner. # Changes this Pokémon's owner.
# @param new_owner [Owner] the owner to change to # @param new_owner [Owner] the owner to change to
def owner=(new_owner) def owner=(new_owner)
unless new_owner.is_a?(Owner) validate new_owner => Owner
raise ArgumentError, _INTL("A {1} was given as a Pokémon owner", new_owner.class.name)
end
@owner = new_owner @owner = new_owner
end end