11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/image_processing/mini_magick/deprecated_api.rb', line 11
def self.deprecated_processing_method(name, &body)
define_method(name) do |*args, &block|
return ImageProcessing::MiniMagick.send(name, *args, &block) if self != ImageProcessing::MiniMagick
return super(*args, &block) unless args.first.respond_to?(:read)
warn "[IMAGE_PROCESSING DEPRECATION WARNING] This API is deprecated and will be removed in ImageProcessing 1.0. Please use the new chainable API."
file = args.shift
if file.respond_to?(:path)
instance_exec(file, *args, block, &body)
else
Utils.copy_to_tempfile(file) do |tempfile|
instance_exec(tempfile, *args, block, &body)
end
end
end
define_method("#{name}!") do |*args, &block|
return ImageProcessing::MiniMagick.send("#{name}!", *args, &block) if self != ImageProcessing::MiniMagick
return super(*args, &block) unless args.first.respond_to?(:read)
processed = send(name, *args, &block)
source = args.first
if name == :convert
File.delete(source.path)
else
processed.close
FileUtils.mv processed.path, source.path
source.open if source.is_a?(Tempfile)
end
source
end
end
|