jnicklas/carrierwave — pull request #509 by antonversal (2011-10-31 08:52:10+00:00)
Title: Version type.

Allows to set versions type and processing it later. Main purpose is to create versions in background with resque or delay_job.
Example:
We have uploader with version `:preview` that have type `:delayed`:

```ruby
class MyUploader < CarrierWave::Uploader::Base

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

version :preview, :type => :delayed do
process :scale => [200, 200]
end

end
```
When file is cached version :preview will not be created. And we can create it later:

```ruby
instance.create_versions!(:delayed)
```
also we can create all version for this uploader by passing :all to the method:

```ruby
instance.create_versions!(:all)
```
and we can create few versions by passing multiple version types to the method:

```ruby
instance.create_versions!(:delayed, :other_version)
```

Having different versions we can create versions by priorities.