Module: CarrierWave::Uploader::Versions
- Defined in:
- lib/carrierwave/uploader/versions.rb
Defined Under Namespace
Modules: ClassMethods
Instance Method Summary collapse
-
#url(*args) ⇒ Object
When given a version name as a parameter, will return the url for that version This also works with nested versions.
-
#version_name ⇒ Object
Returns.
-
#versions ⇒ Object
Returns a hash mapping the name of each version of the uploader to an instance of it.
Instance Method Details
#url(*args) ⇒ Object
When given a version name as a parameter, will return the url for that version This also works with nested versions.
Example
my_uploader.url # => /path/to/my/uploader.gif
my_uploader.url(:thumb) # => /path/to/my/thumb_uploader.gif
my_uploader.url(:thumb, :small) # => /path/to/my/thumb_small_uploader.gif
Parameters
- *args (Symbol)
-
any number of versions
Returns
- String
-
the location where this file is accessible via a url
101 102 103 104 105 106 107 108 109 |
# File 'lib/carrierwave/uploader/versions.rb', line 101 def url(*args) if(args.first) raise ArgumentError, "Version #{args.first} doesn't exist!" if versions[args.first.to_sym].nil? # recursively proxy to version versions[args.first.to_sym].url(*args[1..-1]) else super() end end |
#version_name ⇒ Object
Returns
- String
-
the name of this version of the uploader
79 80 81 |
# File 'lib/carrierwave/uploader/versions.rb', line 79 def version_name self.class.version_names.join('_').to_sym unless self.class.version_names.blank? end |
#versions ⇒ Object
Returns a hash mapping the name of each version of the uploader to an instance of it
Returns
- Hash=> CarrierWave::Uploader
-
a list of uploader instances
65 66 67 68 69 70 71 72 |
# File 'lib/carrierwave/uploader/versions.rb', line 65 def versions return @versions if @versions @versions = {} self.class.versions.each do |name, klass| @versions[name] = klass.new(model, mounted_as) end @versions end |