2011-01-18 3 views
0

Я только что добавили функцию регистратора в моей модели:

Ruby, избежать возвращаемого значения

def self.encrypt(pass, salt) 
    logger.debug "--> user##encrypt" 
    Digest::SHA1.hexdigest(pass+salt) 
    logger.debug "user##encrypt <--" 
    end 


Что сейчас происходит?
Просто метод больше не работает, потому что последнее значение - строка отладки!
Есть ли все-таки, чтобы последняя строка была прозрачной и все еще возвращала предыдущую, но в любом случае, проходя мимо предыдущей строки?
P.S Я не могу переместить строку отладки, и я не хочу использовать другие способы отслеживания потока приложений.

ответ

3

все в рубине - это выражение, поэтому все должно иметь возвращаемое значение. Я бы сделал это следующим образом

def self.encrypt(pass, salt) 
    logger.debug "--> user##encrypt" 
    sha = Digest::SHA1.hexdigest(pass+salt) 
    logger.debug "user##encrypt <--" 
    return sha 
end 
0
def self.encrypt(pass, salt) 
    logger.debug "--> user##encrypt" 
    hex = Digest::SHA1.hexdigest(pass+salt) 
    logger.debug "user##encrypt <--" 
    hex 
end 
Смежные вопросы