Como validar variáveis ao usar attr_accessor no Ruby

1 resposta
Daniel_T_S

Boa Tarde.

Galera, começei a estudar Ruby e muitas dúvidas surgiram.

Uma delas é a seguinte… no Java eu declaro uma variável privada e defino get’s e set’s, neste caso eu poderia usar o método set para validar a informação, por exemplo:

class People{

    private int age;

    public int getAge(){
        return age;
    }

    public void setAge(int age){
        if(age < 0){
           this.age = 0    
        }else{
           this.age = age;
        }
    }

}

Em ruby eu vi que existe um atalho para a criação desses métodos de acesso, por exemplo:

class People

     attr_accessor :age

end

Mas existe alguma forma de validar se a idade é menor que zero utilizando esse atalho, ou teria que implementar um método tipo esse:

class People
 
    def age=(age)
        @age = age
    end    

end

Dese já obrigado, aguardo.

1 Resposta

guilherme.thcarlos

O método attr_accessor dá uma interface simples para os getters and setters.

Para fazer essa validação que você quer, use esse método que você também colocou e altere para a forma necessária. Ele vai substituir o padrão do attr_accessor

Criado 6 de agosto de 2014
Ultima resposta 2 de set. de 2014
Respostas 1
Participantes 2