lib/tasks/paperclip.rake in cloudfuji_paperclip-2.4.6 vs lib/tasks/paperclip.rake in cloudfuji_paperclip-3.0.3
- old
+ new
@@ -8,11 +8,11 @@
def self.obtain_attachments(klass)
klass = Paperclip.class_for(klass.to_s)
name = ENV['ATTACHMENT'] || ENV['attachment']
raise "Class #{klass.name} has no attachments specified" unless klass.respond_to?(:attachment_definitions)
- if !name.blank? && klass.attachment_definitions.keys.include?(name)
+ if !name.blank? && klass.attachment_definitions.keys.map(&:to_s).include?(name.to_s)
[ name ]
else
klass.attachment_definitions.keys
end
end
@@ -43,19 +43,15 @@
task :metadata => :environment do
klass = Paperclip::Task.obtain_class
names = Paperclip::Task.obtain_attachments(klass)
names.each do |name|
Paperclip.each_instance_with_attachment(klass, name) do |instance|
- if file = instance.send(name).to_file(:original)
+ if file = Paperclip.io_adapters.for(instance.send(name))
instance.send("#{name}_file_name=", instance.send("#{name}_file_name").strip)
instance.send("#{name}_content_type=", file.content_type.to_s.strip)
instance.send("#{name}_file_size=", file.size) if instance.respond_to?("#{name}_file_size")
- if Rails.version >= "3.0.0"
- instance.save(:validate => false)
- else
- instance.save(false)
- end
+ instance.save(:validate => false)
else
true
end
end
end
@@ -86,14 +82,10 @@
Paperclip.each_instance_with_attachment(klass, name) do |instance|
unless instance.valid?
attributes = %w(file_size file_name content_type).map{ |suffix| "#{name}_#{suffix}".to_sym }
if attributes.any?{ |attribute| instance.errors[attribute].present? }
instance.send("#{name}=", nil)
- if Rails.version >= "3.0.0"
- instance.save(:validate => false)
- else
- instance.save(false)
- end
+ instance.save(:validate => false)
end
end
end
end
end