lib/uploadbox/image_uploader.rb in uploadbox-0.0.15 vs lib/uploadbox/image_uploader.rb in uploadbox-0.0.16
- old
+ new
@@ -13,11 +13,14 @@
options = options.select{ |key| default_options.keys.include? key }
imageable_type = self.to_s
upload_class_name = imageable_type + upload_name.to_s.camelize
upload_class = Class.new(Image)
- Uploadbox.const_set(upload_class_name, upload_class)
+
+ unless Uploadbox.const_defined?(upload_class_name)
+ Uploadbox.const_set(upload_class_name, upload_class)
+ end
# @post.picture?
define_method("#{upload_name}?") do
upload = send("#{upload_name}_upload")
upload and upload.file?
@@ -81,11 +84,13 @@
default_scope -> { where(imageable_type: imageable_type).where(upload_name: upload_name.to_s) }
# Uploabox::PostPictureUploader < UploadBox::ImgProcessing < CarrierWave
dynamic_uploader = Class.new(Uploadbox::ImageProcessingUploader)
- Uploadbox.const_set(self.name.demodulize + 'Uploader', dynamic_uploader)
+ unless Uplaodbox.const_defined?(self.name.demodulize + 'Uploader')
+ Uploadbox.const_set(self.name.demodulize + 'Uploader', dynamic_uploader)
+ end
dynamic_uploader.class_eval do
upload_versions.each do |version_name, dimensions|
if options[:retina]
dimensions = dimensions.map{ |d| d * 2 }
end
@@ -132,11 +137,14 @@
options = options.select{ |key| default_options.keys.include? key }
imageable_type = self.to_s
upload_class_name = imageable_type + upload_name.to_s.camelize
upload_class = Class.new(Image)
- Uploadbox.const_set(upload_class_name, upload_class)
+
+ unless Uploadbox.const_defined?(upload_class_name)
+ Uploadbox.const_set(upload_class_name, upload_class)
+ end
# @post.images?
define_method("#{upload_name}?") do
upload = send(upload_name)
upload and upload.any?
@@ -169,10 +177,12 @@
default_scope -> { where(imageable_type: imageable_type).where(upload_name: upload_name.to_s) }
# Uploabox::PostPictureUploader < UploadBox::ImgProcessing < CarrierWave
dynamic_uploader = Class.new(Uploadbox::ImageProcessingUploader)
- Uploadbox.const_set(self.name.demodulize + 'Uploader', dynamic_uploader)
+ Uploadbox.const_defined?(self.name.demodulize + 'Uploader')
+ Uploadbox.const_set(self.name.demodulize + 'Uploader', dynamic_uploader)
+ end
dynamic_uploader.class_eval do
upload_versions.each do |version_name, dimensions|
if options[:retina]
dimensions = dimensions.map{ |d| d * 2 }
end