Class: Paperclip::Tempfile

Inherits:
Tempfile
  • Object
show all
Defined in:
lib/paperclip/tempfile.rb

Overview

Overriding some implementation of Tempfile

Instance Method Summary collapse

Instance Method Details

#make_tmpname(basename, n) ⇒ Object

Due to how ImageMagick handles its image format conversion and how Tempfile handles its naming scheme, it is necessary to override how Tempfile makes # its names so as to allow for file extensions. Idea taken from the comments on this blog post: marsorange.com/archives/of-mogrify-ruby-tempfile-dynamic-class-definitions

This is Ruby 1.8.7’s implementation.



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/paperclip/tempfile.rb', line 11

def make_tmpname(basename, n)
  if RUBY_PLATFORM =~ /java/
    case basename
    when Array
      prefix, suffix = *basename
    else
      prefix, suffix = basename, ''
    end

    t = Time.now.strftime("%y%m%d")
    path = "#{prefix}#{t}-#{$$}-#{rand(0x100000000).to_s(36)}-#{n}#{suffix}"
  else
    super
  end
end