class PUNK::ProveClaimService
Public Instance Methods
process()
click to toggle source
# File lib/punk/services/prove_claim.rb, line 19 def process session.increment_attempts session.reload raise BadRequest, "Too many attempts" if session.attempt_count >= 3 hash = RbNaCl::PasswordHash.scrypt(secret, session.salt, 1_048_576, 16_777_216) proven = (session[:hash] == hash) session.verify! if proven proven end
validate()
click to toggle source
# File lib/punk/services/prove_claim.rb, line 9 def validate validates_not_null :session validates_not_empty :session return if session.blank? session.timeout? validates_type Session, :session validates_state :session, :pending validates_event :session, :verify end