Module: CarrierWaveDirect::Test::Helpers

Included in:
CapybaraHelpers
Defined in:
lib/carrierwave_direct/test/helpers.rb

Instance Method Summary collapse

Instance Method Details

#sample_key(uploader, options = {}) ⇒ Object

sample_key(ImageUploader, :base => “store_dir/guid/$filename”)

> “store_dir/guid/filename.extension”



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/carrierwave_direct/test/helpers.rb', line 11

def sample_key(uploader, options = {})
  options[:valid] = true unless options[:valid] == false
  options[:valid] &&= !options[:invalid]
  options[:base] ||= uploader.key
  if options[:filename]
    filename_parts = options[:filename].split(".")
    options[:extension] = filename_parts.pop if filename_parts.size > 1
    options[:filename] = filename_parts.join(".")
  end
  options[:filename] ||= "filename"
  valid_extension = uploader.extension_allowlist.first if uploader.extension_allowlist
  options[:extension] = options[:extension] ? options[:extension].gsub(".", "") : (valid_extension || "extension")
  key = options[:base].split("/")
  key.pop
  key.pop unless options[:valid]
  key << "#{options[:filename]}.#{options[:extension]}"
  key.join("/")
end