locomotive_carrierwave 0.5.0.1 → 0.5.4.beta1
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +714 -0
- data/lib/carrierwave.rb +9 -3
- data/lib/carrierwave/compatibility/paperclip.rb +18 -18
- data/lib/carrierwave/mount.rb +30 -25
- data/lib/carrierwave/orm/activerecord.rb +14 -4
- data/lib/carrierwave/orm/mongoid.rb +29 -8
- data/lib/carrierwave/processing/image_science.rb +25 -2
- data/lib/carrierwave/processing/mini_magick.rb +4 -3
- data/lib/carrierwave/processing/rmagick.rb +3 -2
- data/lib/carrierwave/sanitized_file.rb +23 -38
- data/lib/carrierwave/storage/abstract.rb +0 -3
- data/lib/carrierwave/storage/cloud_files.rb +30 -10
- data/lib/carrierwave/storage/file.rb +1 -8
- data/lib/carrierwave/storage/fog.rb +332 -0
- data/lib/carrierwave/storage/grid_fs.rb +6 -6
- data/lib/carrierwave/storage/s3.rb +31 -34
- data/lib/carrierwave/test/matchers.rb +1 -1
- data/lib/carrierwave/uploader.rb +0 -1
- data/lib/carrierwave/uploader/cache.rb +28 -7
- data/lib/carrierwave/uploader/callbacks.rb +11 -17
- data/lib/carrierwave/uploader/configuration.rb +62 -34
- data/lib/carrierwave/uploader/download.rb +16 -5
- data/lib/carrierwave/uploader/extension_whitelist.rb +14 -3
- data/lib/carrierwave/uploader/mountable.rb +1 -1
- data/lib/carrierwave/uploader/processing.rb +20 -15
- data/lib/carrierwave/uploader/proxy.rb +16 -1
- data/lib/carrierwave/uploader/store.rb +3 -9
- data/lib/carrierwave/uploader/url.rb +3 -2
- data/lib/carrierwave/uploader/versions.rb +78 -25
- data/lib/carrierwave/version.rb +1 -1
- data/lib/generators/templates/uploader.rb +2 -1
- metadata +64 -102
- data/README.rdoc +0 -532
- data/lib/carrierwave/orm/datamapper.rb +0 -37
- data/lib/carrierwave/orm/sequel.rb +0 -45
- data/lib/carrierwave/uploader/rename.rb +0 -62
@@ -1,37 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'dm-core'
|
4
|
-
|
5
|
-
module CarrierWave
|
6
|
-
module DataMapper
|
7
|
-
|
8
|
-
include CarrierWave::Mount
|
9
|
-
|
10
|
-
##
|
11
|
-
# See +CarrierWave::Mount#mount_uploader+ for documentation
|
12
|
-
#
|
13
|
-
def mount_uploader(column, uploader, options={}, &block)
|
14
|
-
super
|
15
|
-
|
16
|
-
alias_method :read_uploader, :attribute_get
|
17
|
-
alias_method :write_uploader, :attribute_set
|
18
|
-
after :save, "store_#{column}!".to_sym
|
19
|
-
pre_hook = ::DataMapper.const_defined?(:Validate) ? :valid? : :save
|
20
|
-
before pre_hook, "write_#{column}_identifier".to_sym
|
21
|
-
after :destroy, "remove_#{column}!".to_sym
|
22
|
-
|
23
|
-
# FIXME: Hack to work around Datamapper not triggering callbacks
|
24
|
-
# for objects that are not dirty. By explicitly calling
|
25
|
-
# attribute_set we are marking the record as dirty.
|
26
|
-
class_eval <<-RUBY
|
27
|
-
def remove_image=(value)
|
28
|
-
_mounter(:#{column}).remove = value
|
29
|
-
attribute_set(:#{column}, '') if _mounter(:#{column}).remove?
|
30
|
-
end
|
31
|
-
RUBY
|
32
|
-
end
|
33
|
-
|
34
|
-
end # DataMapper
|
35
|
-
end # CarrierWave
|
36
|
-
|
37
|
-
DataMapper::Model.send(:include, CarrierWave::DataMapper)
|
@@ -1,45 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'sequel'
|
4
|
-
|
5
|
-
module CarrierWave
|
6
|
-
module Sequel
|
7
|
-
include CarrierWave::Mount
|
8
|
-
|
9
|
-
def mount_uploader(column, uploader)
|
10
|
-
raise "You need to use Sequel 3.0 or higher. Please upgrade." unless ::Sequel::Model.respond_to?(:plugin)
|
11
|
-
super
|
12
|
-
|
13
|
-
alias_method :read_uploader, :[]
|
14
|
-
alias_method :write_uploader, :[]=
|
15
|
-
|
16
|
-
include CarrierWave::Sequel::Hooks
|
17
|
-
include CarrierWave::Sequel::Validations
|
18
|
-
end
|
19
|
-
|
20
|
-
end # Sequel
|
21
|
-
end # CarrierWave
|
22
|
-
|
23
|
-
# Instance hook methods for the Sequel 3.x
|
24
|
-
module CarrierWave::Sequel::Hooks
|
25
|
-
def after_save
|
26
|
-
return false if super == false
|
27
|
-
self.class.uploaders.each_key {|column| self.send("store_#{column}!") }
|
28
|
-
end
|
29
|
-
|
30
|
-
def before_save
|
31
|
-
return false if super == false
|
32
|
-
self.class.uploaders.each_key {|column| self.send("write_#{column}_identifier") }
|
33
|
-
end
|
34
|
-
|
35
|
-
def before_destroy
|
36
|
-
return false if super == false
|
37
|
-
self.class.uploaders.each_key {|column| self.send("remove_#{column}!") }
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
# Instance validation methods for the Sequel 3.x
|
42
|
-
module CarrierWave::Sequel::Validations
|
43
|
-
end
|
44
|
-
|
45
|
-
Sequel::Model.send(:extend, CarrierWave::Sequel)
|
@@ -1,62 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
module CarrierWave
|
4
|
-
module Uploader
|
5
|
-
module Rename
|
6
|
-
extend ActiveSupport::Concern
|
7
|
-
|
8
|
-
include CarrierWave::Uploader::Callbacks
|
9
|
-
|
10
|
-
included do
|
11
|
-
after :rename, :recreate_versions!
|
12
|
-
end
|
13
|
-
|
14
|
-
##
|
15
|
-
# Override this method in your uploader to check if the model has been updated.
|
16
|
-
#
|
17
|
-
# === Returns
|
18
|
-
#
|
19
|
-
# [NilClass, Boolean] true if the model has been changed, false otherwise
|
20
|
-
#
|
21
|
-
# === Examples
|
22
|
-
#
|
23
|
-
# def stale_model?
|
24
|
-
# model.folder_changed? # because store_dir is based on the folder property of the model
|
25
|
-
# end
|
26
|
-
#
|
27
|
-
def stale_model?
|
28
|
-
false
|
29
|
-
end
|
30
|
-
|
31
|
-
def rename?
|
32
|
-
@rename || false
|
33
|
-
end
|
34
|
-
|
35
|
-
##
|
36
|
-
# Renames the file
|
37
|
-
#
|
38
|
-
def rename!
|
39
|
-
return true if !self.rename?
|
40
|
-
|
41
|
-
with_callbacks(:rename) do
|
42
|
-
@file = storage.rename!(@original_file)
|
43
|
-
@original_file = nil
|
44
|
-
@rename = false
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
private
|
49
|
-
|
50
|
-
def check_stale_model!
|
51
|
-
# the conditions below means: already an existing file, with model, model has been modified and not changing the file currently.
|
52
|
-
@rename = self.file && self.model && self.stale_model? && @cache_id.nil?
|
53
|
-
|
54
|
-
if self.rename?
|
55
|
-
@original_file = self.file.clone
|
56
|
-
@filename = self.model.send(:_mounter, self.mounted_as).identifier # default filename has to be the one from the model
|
57
|
-
end
|
58
|
-
end
|
59
|
-
|
60
|
-
end # Rename
|
61
|
-
end # Uploader
|
62
|
-
end # CarrierWave
|