diff app/models/paste.rb @ 176:a9dba6a3008b

Initial work to add paste deletion.
author Edho Arief <edho@myconan.net>
date Fri, 01 Feb 2013 22:24:08 +0700
parents 7bb46d9febad
children af80541dc915
line wrap: on
line diff
--- a/app/models/paste.rb	Thu Jan 31 02:20:55 2013 +0700
+++ b/app/models/paste.rb	Fri Feb 01 22:24:08 2013 +0700
@@ -3,13 +3,18 @@
   before_validation :paste_limit
   before_validation :convert_newlines
   before_validation :set_paste_hash
-  validates :paste, :paste_hash, :ip, :presence => true
+  before_validation :set_paste_key
+  validates :paste, :paste_hash, :key, :ip, :presence => true
   validates :paste, :length => { :maximum => 1_000_000 }
 
   def set_paste_hash
     self.paste_hash = Digest::SHA512.hexdigest("#{paste}\n")
   end
 
+  def set_paste_key
+    self.key ||= SecureRandom.hex(4)
+  end
+
   def convert_newlines
     self.paste = self.paste.to_s.gsub("\r\n", "\n").gsub("\r", "\n")
   end