9 votes

Ruby compare les dates

Je voudrais savoir si un utilisateur a été créé dans le système au cours des 10 dernières secondes. Je ferais donc.. :

  def new_user
    if(DateTime.now - User.created_at < 10)
      return true
    else 
      return false 
    end
  end

C'est juste une idée, comment le faire correctement ? Je vous remercie de votre attention.

10voto

molf Points 34978
class User < ActiveRecord::Base
  def new?
    created_at > 10.seconds.ago
  end
end

# Example:
user = User.create!
user.new?
#=> true

sleep 11
user.new?
#=> false

(En supposant que votre User est une classe ActiveRecord modèle.)

3voto

Jakub Hampl Points 19161
User.created_at > 10.seconds.ago

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X