From cf1b60e0cfa7d1a8f4a80d686649cc12e73a634e Mon Sep 17 00:00:00 2001 From: hukl Date: Fri, 24 Apr 2009 11:43:08 +0200 Subject: Integrated basic Asset upload functionality. You can upload files now and use their url in pages. --- vendor/plugins/paperclip/test/helper.rb | 82 +++++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 vendor/plugins/paperclip/test/helper.rb (limited to 'vendor/plugins/paperclip/test/helper.rb') diff --git a/vendor/plugins/paperclip/test/helper.rb b/vendor/plugins/paperclip/test/helper.rb new file mode 100644 index 00000000..3e7e6a1c --- /dev/null +++ b/vendor/plugins/paperclip/test/helper.rb @@ -0,0 +1,82 @@ +require 'rubygems' +require 'test/unit' +gem 'thoughtbot-shoulda', ">= 2.9.0" +require 'shoulda' +require 'mocha' +require 'tempfile' + +gem 'sqlite3-ruby' + +require 'active_record' +require 'active_support' +begin + require 'ruby-debug' +rescue LoadError + puts "ruby-debug not loaded" +end + +ROOT = File.join(File.dirname(__FILE__), '..') +RAILS_ROOT = ROOT + +$LOAD_PATH << File.join(ROOT, 'lib') +$LOAD_PATH << File.join(ROOT, 'lib', 'paperclip') + +require File.join(ROOT, 'lib', 'paperclip.rb') + +require 'shoulda_macros/paperclip' + +ENV['RAILS_ENV'] ||= 'test' + +FIXTURES_DIR = File.join(File.dirname(__FILE__), "fixtures") +config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml')) +ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log") +ActiveRecord::Base.establish_connection(config['test']) + +def reset_class class_name + ActiveRecord::Base.send(:include, Paperclip) + Object.send(:remove_const, class_name) rescue nil + klass = Object.const_set(class_name, Class.new(ActiveRecord::Base)) + klass.class_eval{ include Paperclip } + klass +end + +def reset_table table_name, &block + block ||= lambda{ true } + ActiveRecord::Base.connection.create_table :dummies, {:force => true}, &block +end + +def modify_table table_name, &block + ActiveRecord::Base.connection.change_table :dummies, &block +end + +def rebuild_model options = {} + ActiveRecord::Base.connection.create_table :dummies, :force => true do |table| + table.column :other, :string + table.column :avatar_file_name, :string + table.column :avatar_content_type, :string + table.column :avatar_file_size, :integer + table.column :avatar_updated_at, :datetime + end + rebuild_class options +end + +def rebuild_class options = {} + ActiveRecord::Base.send(:include, Paperclip) + Object.send(:remove_const, "Dummy") rescue nil + Object.const_set("Dummy", Class.new(ActiveRecord::Base)) + Dummy.class_eval do + include Paperclip + has_attached_file :avatar, options + end +end + +def temporary_rails_env(new_env) + old_env = defined?(RAILS_ENV) ? RAILS_ENV : nil + silence_warnings do + Object.const_set("RAILS_ENV", new_env) + end + yield + silence_warnings do + Object.const_set("RAILS_ENV", old_env) + end +end -- cgit v1.3