module Carrierwave::Digest::ClassMethods
Public Instance Methods
ensure_digest_for(name)
click to toggle source
# File lib/carrierwave/digest.rb, line 11 def ensure_digest_for(name) define_method("#{name}_digest") do if send("#{name}_changed?") && send("#{name}").file.present? && send("#{name}").file.respond_to?(:path) && File.exists?(send("#{name}").file.path) ::Digest::SHA1.file(send("#{name}").file.path).hexdigest else # Reading image self["#{name}_digest".to_sym] end end define_method("update_#{name}_digest") do self.send("#{name}_digest=", send("#{name}_digest")) if send("#{name}_changed?") end before_save "update_#{name}_digest".to_sym if(respond_to?(:before_save)) end