summaryrefslogtreecommitdiff
path: root/vendor/plugins/paperclip/test/helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/plugins/paperclip/test/helper.rb')
-rw-r--r--vendor/plugins/paperclip/test/helper.rb82
1 files changed, 0 insertions, 82 deletions
diff --git a/vendor/plugins/paperclip/test/helper.rb b/vendor/plugins/paperclip/test/helper.rb
deleted file mode 100644
index 3e7e6a1..0000000
--- a/vendor/plugins/paperclip/test/helper.rb
+++ /dev/null
@@ -1,82 +0,0 @@
1require 'rubygems'
2require 'test/unit'
3gem 'thoughtbot-shoulda', ">= 2.9.0"
4require 'shoulda'
5require 'mocha'
6require 'tempfile'
7
8gem 'sqlite3-ruby'
9
10require 'active_record'
11require 'active_support'
12begin
13 require 'ruby-debug'
14rescue LoadError
15 puts "ruby-debug not loaded"
16end
17
18ROOT = File.join(File.dirname(__FILE__), '..')
19RAILS_ROOT = ROOT
20
21$LOAD_PATH << File.join(ROOT, 'lib')
22$LOAD_PATH << File.join(ROOT, 'lib', 'paperclip')
23
24require File.join(ROOT, 'lib', 'paperclip.rb')
25
26require 'shoulda_macros/paperclip'
27
28ENV['RAILS_ENV'] ||= 'test'
29
30FIXTURES_DIR = File.join(File.dirname(__FILE__), "fixtures")
31config = YAML::load(IO.read(File.dirname(__FILE__) + '/database.yml'))
32ActiveRecord::Base.logger = Logger.new(File.dirname(__FILE__) + "/debug.log")
33ActiveRecord::Base.establish_connection(config['test'])
34
35def reset_class class_name
36 ActiveRecord::Base.send(:include, Paperclip)
37 Object.send(:remove_const, class_name) rescue nil
38 klass = Object.const_set(class_name, Class.new(ActiveRecord::Base))
39 klass.class_eval{ include Paperclip }
40 klass
41end
42
43def reset_table table_name, &block
44 block ||= lambda{ true }
45 ActiveRecord::Base.connection.create_table :dummies, {:force => true}, &block
46end
47
48def modify_table table_name, &block
49 ActiveRecord::Base.connection.change_table :dummies, &block
50end
51
52def rebuild_model options = {}
53 ActiveRecord::Base.connection.create_table :dummies, :force => true do |table|
54 table.column :other, :string
55 table.column :avatar_file_name, :string
56 table.column :avatar_content_type, :string
57 table.column :avatar_file_size, :integer
58 table.column :avatar_updated_at, :datetime
59 end
60 rebuild_class options
61end
62
63def rebuild_class options = {}
64 ActiveRecord::Base.send(:include, Paperclip)
65 Object.send(:remove_const, "Dummy") rescue nil
66 Object.const_set("Dummy", Class.new(ActiveRecord::Base))
67 Dummy.class_eval do
68 include Paperclip
69 has_attached_file :avatar, options
70 end
71end
72
73def temporary_rails_env(new_env)
74 old_env = defined?(RAILS_ENV) ? RAILS_ENV : nil
75 silence_warnings do
76 Object.const_set("RAILS_ENV", new_env)
77 end
78 yield
79 silence_warnings do
80 Object.const_set("RAILS_ENV", old_env)
81 end
82end