Sha256: 524fcd8fa2721c1250e5a6c72a5f86e30669dc7a9978d832c7cf3f41a881c744

Contents?: true

Size: 1.18 KB

Versions: 40

Compression:

Stored size: 1.18 KB

Contents

module ActionController
  module UploadedFile
    def self.included(base)
      base.class_eval do
        attr_accessor :original_path, :content_type
        alias_method :local_path, :path if method_defined?(:path)
      end
    end

    def self.extended(object)
      object.class_eval do
        attr_accessor :original_path, :content_type
        alias_method :local_path, :path if method_defined?(:path)
      end
    end

    # Take the basename of the upload's original filename.
    # This handles the full Windows paths given by Internet Explorer
    # (and perhaps other broken user agents) without affecting
    # those which give the lone filename.
    # The Windows regexp is adapted from Perl's File::Basename.
    def original_filename
      unless defined? @original_filename
        @original_filename =
          unless original_path.blank?
            if original_path =~ /^(?:.*[:\\\/])?(.*)/m
              $1
            else
              File.basename original_path
            end
          end
      end
      @original_filename
    end
  end

  class UploadedStringIO < StringIO
    include UploadedFile
  end

  class UploadedTempfile < Tempfile
    include UploadedFile
  end
end

Version data entries

40 entries across 40 versions & 10 rubygems

Version Path
actionpack-2.3.18 lib/action_controller/uploaded_file.rb
actionpack_csi-2.3.5.p8 lib/action_controller/uploaded_file.rb
actionpack-2.3.17-rack-upgrade-2.3.17 lib/action_controller/uploaded_file.rb
actionpack-2.3.17 lib/action_controller/uploaded_file.rb
actionpack_csi-2.3.5.p7 lib/action_controller/uploaded_file.rb
actionpack_csi-2.3.5.p6 lib/action_controller/uploaded_file.rb
actionpack-2.3.16 lib/action_controller/uploaded_file.rb
actionpack-rack-upgrade-2-2.3.16 lib/action_controller/uploaded_file.rb
actionpack-rack-upgrade-2-2.3.15 lib/action_controller/uploaded_file.rb
actionpack-2.3.15 lib/action_controller/uploaded_file.rb
actionpack-rack-upgrade-2.3.16 lib/action_controller/uploaded_file.rb
actionpack-rack-upgrade-2.3.15 lib/action_controller/uploaded_file.rb
actionpack-rack-upgrade-2.3.14 lib/action_controller/uploaded_file.rb
radiant-1.0.0 ruby-debug/ruby/1.8/gems/actionpack-2.3.14/lib/action_controller/uploaded_file.rb
vanity-1.7.1 vendor/ruby/1.9.1/gems/actionpack-2.3.12/lib/action_controller/uploaded_file.rb
actionpack-2.3.14 lib/action_controller/uploaded_file.rb
kajam-1.0.3.rc2 vendor/rails/actionpack/lib/action_controller/uploaded_file.rb
actionpack-2.3.12 lib/action_controller/uploaded_file.rb
radiant-1.0.0.rc2 vendor/rails/actionpack/lib/action_controller/uploaded_file.rb
radiant-1.0.0.rc1 vendor/rails/actionpack/lib/action_controller/uploaded_file.rb