lib/paperclip/attachment.rb in joshpuetz-paperclip-2.3.0.1 vs lib/paperclip/attachment.rb in joshpuetz-paperclip-2.3.0.2

- old
+ new

@@ -12,11 +12,12 @@ :styles => {}, :default_url => "/:attachment/:style/missing.png", :default_style => :original, :validations => [], :storage => :filesystem, - :whiny => Paperclip.options[:whiny] || Paperclip.options[:whiny_thumbnails] + :whiny => Paperclip.options[:whiny] || Paperclip.options[:whiny_thumbnails], + :keep_old_files=> false } end attr_reader :name, :instance, :styles, :default_style, :convert_options, :queued_for_write, :options @@ -38,10 +39,11 @@ @default_url = options[:default_url] @validations = options[:validations] @default_style = options[:default_style] @storage = options[:storage] @whiny = options[:whiny_thumbnails] || options[:whiny] + @keep_old_files = options[:keep_old_files] @convert_options = options[:convert_options] || {} @processors = options[:processors] || [:thumbnail] @options = options @queued_for_delete = [] @queued_for_write = {} @@ -392,12 +394,14 @@ Paperclip::Interpolations.interpolate(pattern, self, style) end def queue_existing_for_delete #:nodoc: return unless file? - @queued_for_delete += [:original, *@styles.keys].uniq.map do |style| - path(style) if exists?(style) - end.compact + unless @keep_old_files + @queued_for_delete += [:original, *@styles.keys].uniq.map do |style| + path(style) if exists?(style) + end.compact + end instance_write(:file_name, nil) instance_write(:content_type, nil) instance_write(:file_size, nil) instance_write(:updated_at, nil) end