From f7a5b91b2330e373e1a050efb8f4bbec4c24c465 Mon Sep 17 00:00:00 2001 From: Prem Sichanugrist Date: Thu, 30 Jun 2011 15:43:47 -0400 Subject: [PATCH] Put the helper methods into Paperclip::Task module Closes #434 --- lib/tasks/paperclip.rake | 42 ++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/lib/tasks/paperclip.rake b/lib/tasks/paperclip.rake index 23f53a4cd..c358d0114 100644 --- a/lib/tasks/paperclip.rake +++ b/lib/tasks/paperclip.rake @@ -1,17 +1,21 @@ -def obtain_class - class_name = ENV['CLASS'] || ENV['class'] - raise "Must specify CLASS" unless class_name - class_name -end +module Paperclip + module Task + def self.obtain_class + class_name = ENV['CLASS'] || ENV['class'] + raise "Must specify CLASS" unless class_name + class_name + end -def 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) - [ name ] - else - klass.attachment_definitions.keys + 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) + [ name ] + else + klass.attachment_definitions.keys + end + end end end @@ -23,8 +27,8 @@ namespace :paperclip do desc "Regenerates thumbnails for a given CLASS (and optional ATTACHMENT and STYLES splitted by comma)." task :thumbnails => :environment do errors = [] - klass = obtain_class - names = obtain_attachments(klass) + klass = Paperclip::Task.obtain_class + names = Paperclip::Task.obtain_attachments(klass) styles = (ENV['STYLES'] || ENV['styles'] || '').split(',').map(&:to_sym) names.each do |name| Paperclip.each_instance_with_attachment(klass, name) do |instance| @@ -37,8 +41,8 @@ namespace :paperclip do desc "Regenerates content_type/size metadata for a given CLASS (and optional ATTACHMENT)." task :metadata => :environment do - klass = obtain_class - names = obtain_attachments(klass) + 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) @@ -60,8 +64,8 @@ namespace :paperclip do desc "Cleans out invalid attachments. Useful after you've added new validations." task :clean => :environment do - klass = obtain_class - names = obtain_attachments(klass) + klass = Paperclip::Task.obtain_class + names = Paperclip::Task.obtain_attachments(klass) names.each do |name| Paperclip.each_instance_with_attachment(klass, name) do |instance| instance.send(name).send(:validate)