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