Module: CarrierWave::Uploader::Configuration::ClassMethods
- Defined in:
- lib/carrierwave/uploader/configuration.rb
Instance Method Summary collapse
- #add_config(name) ⇒ Object
- #add_deprecated_config(name) ⇒ Object
-
#cache_storage(storage = false) ⇒ Object
(also: #cache_storage=)
Sets the cache storage engine to be used when storing cache files with this uploader.
- #configure {|_self| ... } ⇒ Object
-
#reset_config ⇒ Object
sets configuration back to default.
-
#storage(storage = nil) ⇒ Object
(also: #storage=)
Sets the storage engine to be used when storing files with this uploader.
Instance Method Details
#add_config(name) ⇒ Object
124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# File 'lib/carrierwave/uploader/configuration.rb', line 124 def add_config(name) class_eval <<-RUBY, __FILE__, __LINE__ + 1 @#{name} = nil def self.#{name}(value=nil) @#{name} = value unless value.nil? return @#{name} if self.object_id == #{self.object_id} || defined?(@#{name}) name = superclass.#{name} return nil if name.nil? && !instance_variable_defined?(:@#{name}) @#{name} = name && !name.is_a?(Module) && !name.is_a?(Symbol) && !name.is_a?(Numeric) && !name.is_a?(TrueClass) && !name.is_a?(FalseClass) ? name.dup : name end def self.#{name}=(value) @#{name} = value end def #{name}=(value) @#{name} = value end def #{name} value = @#{name} if instance_variable_defined?(:@#{name}) value = self.class.#{name} unless instance_variable_defined?(:@#{name}) if value.instance_of?(Proc) value.arity >= 1 ? value.call(self) : value.call else value end end RUBY end |
#add_deprecated_config(name) ⇒ Object
156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 |
# File 'lib/carrierwave/uploader/configuration.rb', line 156 def add_deprecated_config(name) class_eval <<-RUBY, __FILE__, __LINE__ + 1 def self.#{name}(value=nil) ActiveSupport::Deprecation.warn "##{name} is deprecated and has no effect" end def self.#{name}=(value) ActiveSupport::Deprecation.warn "##{name} is deprecated and has no effect" end def #{name}=(value) ActiveSupport::Deprecation.warn "##{name} is deprecated and has no effect" end def #{name} ActiveSupport::Deprecation.warn "##{name} is deprecated and has no effect" end RUBY end |
#cache_storage(storage = false) ⇒ Object Also known as: cache_storage=
Sets the cache storage engine to be used when storing cache files with this uploader. Same as .storage except for required methods being #cache!(CarrierWave::SanitizedFile), #retrieve_from_cache! and #delete_dir!.
Parameters
- storage (Symbol, Class)
-
The cache storage engine to use for this uploader
Returns
- Class
-
the cache storage engine to be used with this uploader
Examples
cache_storage :file
cache_storage CarrierWave::Storage::File
cache_storage MyCustomStorageEngine
116 117 118 119 120 121 |
# File 'lib/carrierwave/uploader/configuration.rb', line 116 def cache_storage(storage = false) unless storage == false self._cache_storage = storage.is_a?(Symbol) ? eval(storage_engines[storage]) : storage end _cache_storage end |
#configure {|_self| ... } ⇒ Object
176 177 178 |
# File 'lib/carrierwave/uploader/configuration.rb', line 176 def configure yield self end |
#reset_config ⇒ Object
sets configuration back to default
183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 |
# File 'lib/carrierwave/uploader/configuration.rb', line 183 def reset_config configure do |config| config. = 0o644 config. = 0o755 config.storage_engines = { :file => "CarrierWave::Storage::File", :fog => "CarrierWave::Storage::Fog" } config.storage = :file config.cache_storage = nil config.fog_attributes = {} config.fog_credentials = {} config.fog_public = true config.fog_authenticated_url_expiration = 600 config.fog_use_ssl_for_aws = true config.fog_aws_accelerate = false config.store_dir = 'uploads' config.cache_dir = 'uploads/tmp' config.delete_tmp_file_after_storage = true config.move_to_cache = false config.move_to_store = false config.remove_previously_stored_files_after_update = true config.downloader = CarrierWave::Downloader::Base config.force_extension = false config.ignore_integrity_errors = true config.ignore_processing_errors = true config.ignore_download_errors = true config.validate_integrity = true config.validate_processing = true config.validate_download = true config.root = lambda { CarrierWave.root } config.base_path = CarrierWave.base_path config.enable_processing = true config.ensure_multipart_form = true config.download_retry_count = 0 config.download_retry_wait_time = 5 end end |
#storage(storage = nil) ⇒ Object Also known as: storage=
Sets the storage engine to be used when storing files with this uploader. Can be any class that implements a #store!(CarrierWave::SanitizedFile) and a #retrieve! method. See lib/carrierwave/storage/file.rb for an example. Storage engines should be added to CarrierWave::Uploader::Base.storage_engines so they can be referred to by a symbol, which should be more convenient
If no argument is given, it will simply return the currently used storage engine.
Parameters
- storage (Symbol, Class)
-
The storage engine to use for this uploader
Returns
- Class
-
the storage engine to be used with this uploader
Examples
storage :file
storage CarrierWave::Storage::File
storage MyCustomStorageEngine
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/carrierwave/uploader/configuration.rb', line 80 def storage(storage = nil) case storage when Symbol if (storage_engine = storage_engines[storage]) self._storage = eval storage_engine else raise CarrierWave::UnknownStorageError, "Unknown storage: #{storage}" end when nil storage else self._storage = storage end _storage end |