Module: ActionController::UploadedFile
- Included in:
- UploadedStringIO, UploadedTempfile
- Defined in:
- lib/action_controller/uploaded_file.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#original_filename ⇒ Object
Take the basename of the upload’s original filename.
Class Method Details
.extended(object) ⇒ Object
10 11 12 13 14 15 |
# File 'lib/action_controller/uploaded_file.rb', line 10 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 |
.included(base) ⇒ Object
3 4 5 6 7 8 |
# File 'lib/action_controller/uploaded_file.rb', line 3 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 |
Instance Method Details
#original_filename ⇒ Object
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.
22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/action_controller/uploaded_file.rb', line 22 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 |