Module: FileMaker

Defined in:
lib/file_uploader/file_maker.rb

Constant Summary collapse

CHARACTERS_SET =
[('a'..'z'), ('A'..'Z')].map{|i| i.to_a}.flatten

Class Method Summary collapse

Class Method Details

.create_file(dir, original_filename) ⇒ Object



4
5
6
7
8
9
# File 'lib/file_uploader/file_maker.rb', line 4

def self.create_file(dir, original_filename)
  filename = rnd_prefix << sanitize_filename(original_filename)
  path = File.join(dir, filename)
  
  File.new(path, 'wb')
end

.rnd_prefixObject



16
17
18
# File 'lib/file_uploader/file_maker.rb', line 16

def self.rnd_prefix
  (0..5).map { CHARACTERS_SET[rand(CHARACTERS_SET.length)] }.join << '_'
end

.sanitize_filename(filename) ⇒ Object



11
12
13
14
# File 'lib/file_uploader/file_maker.rb', line 11

def self.sanitize_filename(filename)
  just_filename = File.basename(filename)
  just_filename.gsub(/[^\w\.\-]/,'_')
end