module CarrierWave::Uploader::Versions::ClassMethods

Public Instance Methods

version(name, &block) click to toggle source

Adds a new version to this uploader

Parameters

name (to_sym)

name of the version

&block (Proc)

a block to eval on this version of the uploader

# File lib/carrierwave/uploader/versions.rb, line 30
def version(name, &block)
  name = name.to_sym
  unless versions[name]
    versions[name] = Class.new(self)
    versions[name].version_names.push(*version_names)
    versions[name].version_names.push(name)
    class_eval <<-RUBY
      def #{name}
        versions[:#{name}]
      end
    RUBY
  end
  versions[name].class_eval(&block) if block
  versions[name]
end
version_names() click to toggle source
# File lib/carrierwave/uploader/versions.rb, line 18
def version_names
  @version_names ||= []
end
versions() click to toggle source

Returns

Hash{Symbol => Class}

a list of versions available for this uploader

# File lib/carrierwave/uploader/versions.rb, line 51
def versions
  @versions ||= {}
end