Class: DoorMat::ActivityDownloadRecoveryKey
- Defined in:
- app/models/door_mat/activity_download_recovery_key.rb
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Activity
Class Method Details
.for(actor) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'app/models/door_mat/activity_download_recovery_key.rb', line 4 def self.for(actor) # Fail any existing activities actor.download_recovery_key_activities.each do |a| a.failed! end activity = self.new activity.actor = actor activity.notifier = actor activity.link_hash = self.hash_token(SecureRandom.uuid) activity.started! end |
Instance Method Details
#get_new_token ⇒ Object
21 22 23 24 25 26 27 |
# File 'app/models/door_mat/activity_download_recovery_key.rb', line 21 def get_new_token token = SecureRandom.uuid self.link_hash = DoorMat::Activity.hash_token(token) self.save! token end |
#input_valid?(token) ⇒ Boolean
17 18 19 |
# File 'app/models/door_mat/activity_download_recovery_key.rb', line 17 def input_valid?(token) DoorMat::Crypto.secure_compare(DoorMat::Activity.hash_token(token.to_s), self.link_hash) end |