Module: CarrierWave::Uploader::Versions::ClassMethods

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

Instance Method Summary collapse

Instance Method Details

#recursively_apply_block_to_versions(&block) ⇒ Object



57
58
59
60
61
62
# File 'vendor/carrierwave/lib/carrierwave/uploader/versions.rb', line 57

def recursively_apply_block_to_versions(&block)
  versions.each do |name, version|
    version.class_eval(&block)
    version.recursively_apply_block_to_versions(&block)
  end
end

#version(name, options = {}, &block) ⇒ Object

Adds a new version to this uploader

=== Parameters

[name (#to_sym)] name of the version [options (Hash)] optional options hash [&block (Proc)] a block to eval on this version of the uploader

=== Examples

class MyUploader < CarrierWave::Uploader::Base

  version :thumb do
    process :scale => [200, 200]
  end

  version :preview, :if => :image? do
    process :scale => [200, 200]
  end

end


49
50
51
52
53
54
55
# File 'vendor/carrierwave/lib/carrierwave/uploader/versions.rb', line 49

def version(name, options = {}, &block)
  name = name.to_sym
  build_version(name, options)

  versions[name].class_eval(&block) if block
  versions[name]
end