Module: CarrierWave::FileCardUploader::Path

Included in:
CarrierWave::FileCardUploader
Defined in:
lib/carrier_wave/file_card_uploader/path.rb

Overview

path-related methods for uploader

Instance Method Summary collapse

Instance Method Details

#cache_dirObject



24
25
26
# File 'lib/carrier_wave/file_card_uploader/path.rb', line 24

def cache_dir
  "#{@model.files_base_dir 'tmp'}/cache"
end

#local_url(opts = {}) ⇒ Object



11
12
13
# File 'lib/carrier_wave/file_card_uploader/path.rb', line 11

def local_url opts={}
  "%s/%s/%s" % [local_url_base(opts), file_dir, full_filename(url_filename)]
end

#local_url_base(opts = {}) ⇒ Object



15
16
17
18
# File 'lib/carrier_wave/file_card_uploader/path.rb', line 15

def local_url_base opts={}
  web_path = Card.config.files_web_path
  opts.delete(:absolute) ? card_url(web_path) : card_path(web_path)
end

#path(version = nil) ⇒ Object

paperclip compatibility used in type/file.rb#core (base format)



51
52
53
# File 'lib/carrier_wave/file_card_uploader/path.rb', line 51

def path version=nil
  version ? versions[version].path : super()
end

#public_pathObject



20
21
22
# File 'lib/carrier_wave/file_card_uploader/path.rb', line 20

def public_path
  File.join Cardio.paths["public"].existent.first, url
end

#retrieve_pathObject



41
42
43
# File 'lib/carrier_wave/file_card_uploader/path.rb', line 41

def retrieve_path
  File.join([retrieve_dir, full_filename(filename)].compact)
end

#store_path(for_file = nil) ⇒ Object

Carrierwave calls store_path without argument when it stores the file and with the identifier from the db when it retrieves the file. In our case the first part of our identifier is not part of the path but we can construct the filename from db data. So we don’t need the identifier.



33
34
35
36
37
38
39
# File 'lib/carrier_wave/file_card_uploader/path.rb', line 33

def store_path for_file=nil
  if for_file
    retrieve_path
  else
    File.join([store_dir, full_filename(filename)].compact)
  end
end

#tmp_pathObject



45
46
47
48
# File 'lib/carrier_wave/file_card_uploader/path.rb', line 45

def tmp_path
  Dir.mkdir_p model.tmp_upload_dir
  File.join model.tmp_upload_dir, filename
end