Method: CarrierWave::Uploader::Versions#version_exists?

Defined in:
lib/carrierwave/uploader/versions.rb

#version_exists?Boolean

Parameters

name (#to_sym)

name of the version

Returns

Boolean

True when the version satisfy its :if or :unless condition

Returns:

  • (Boolean)


225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
# File 'lib/carrierwave/uploader/versions.rb', line 225

def version_active?(name)
  name = name.to_sym

  return false unless versions.has_key?(name)

  if_condition = versions[name].class.version_options[:if]
  unless_condition = versions[name].class.version_options[:unless]

  if if_condition
    if if_condition.respond_to?(:call)
      if_condition.call(self, :version => name, :file => file)
    else
      send(if_condition, file)
    end
  elsif unless_condition
    if unless_condition.respond_to?(:call)
      !unless_condition.call(self, :version => name, :file => file)
    else
      !send(unless_condition, file)
    end
  else
    true
  end
end