Sha256: 02140a1dd7fca3719efbc44ece75f3693bfe3b047004c789c3e9ece900dc3896

Contents?: true

Size: 1.7 KB

Versions: 13

Compression:

Stored size: 1.7 KB

Contents

require 'carrierwave'
require 'carrierwave/orm/mongoid'

module CarrierWave
  
  class SanitizedFile
    
    def original_filename=(filename)
      @original_filename = filename
    end
    
    def content_type=(content_type)
      @content_type = content_type
    end
   
    # http://github.com/jnicklas/carrierwave/issuesearch?state=closed&q=content+type#issue/48
    def copy_to_with_content_type(new_path, permissions=nil)
      new_file = self.copy_to_without_content_type(new_path, permissions)
      new_file.content_type = self.content_type
      new_file
    end
    
    alias_method_chain :copy_to, :content_type
    
    # FIXME (Did) CarrierWave speaks mime type now
    def content_type
      return @content_type if @content_type
      if @file.respond_to?(:content_type) and @file.content_type
        @file.content_type.chomp
      else
        File.mime_type?(@file) if @file.is_a?(String)
      end
    end
    
  end
  
end

module CarrierWave
  module Mongoid
    def validates_integrity_of(*attrs)
      options = attrs.last.is_a?(Hash) ? attrs.last : {}
      options[:message] ||= I18n.t('carrierwave.errors.integrity', :default => 'is not an allowed type of file.')
      validates_each(*attrs) do |record, attr, value|
        record.errors.add attr, options[:message] if record.send("#{attr}_integrity_error")
      end
    end
    
    def validates_processing_of(*attrs)
      options = attrs.last.is_a?(Hash) ? attrs.last : {}
      options[:message] ||= I18n.t('carrierwave.errors.processing', :default => 'failed to be processed.')
      validates_each(*attrs) do |record, attr, value|
        record.errors.add attr, options[:message] if record.send("#{attr}_processing_error")
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
locomotive_cms-0.0.2.7 config/initializers/carrierwave.rb
locomotive_cms-0.0.2.6 config/initializers/carrierwave.rb
locomotive_cms-0.0.2.5 config/initializers/carrierwave.rb
locomotive_cms-0.0.2.4 config/initializers/carrierwave.rb
locomotive_cms-0.0.2.3 config/initializers/carrierwave.rb
locomotive_cms-0.0.2.2 config/initializers/carrierwave.rb
locomotive_cms-0.0.2.1 config/initializers/carrierwave.rb
locomotive_cms-0.0.2 config/initializers/carrierwave.rb
locomotive_cms-0.0.1.4 config/initializers/carrierwave.rb
locomotive_cms-0.0.1.3 config/initializers/carrierwave.rb
locomotive_cms-0.0.1.2 config/initializers/carrierwave.rb
locomotive_cms-0.0.1.1 config/initializers/carrierwave.rb
locomotive_cms-0.0.1 config/initializers/carrierwave.rb