Class: ReVIEW::MakerHelper
Class Method Summary collapse
-
.copy_images_to_dir(from_dir, to_dir, options = {}) ⇒ Object
- Copy image files under from_dir to to_dir recursively ==== Args from_dir
- path to the directory which has image files to be copied to_dir
- path to the directory to which the image files are copied options
- used to specify optional operations during copy ==== Returns list of image files ==== Options :convert
-
Conversion rule ==== Examples.
Class Method Details
.copy_images_to_dir(from_dir, to_dir, options = {}) ⇒ Object
Copy image files under from_dir to to_dir recursively
Args
- from_dir
-
path to the directory which has image files to be copied
- to_dir
-
path to the directory to which the image files are copied
- options
-
used to specify optional operations during copy
Returns
list of image files
Options
- :convert
-
Conversion rule
Examples
copy_images_to_dir("/path/to/foo", "/path/to/bar", :convert => {:eps => :png})
Image files are copied recursively, and each ‘.eps’ file is converted into ‘.eps.png’
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/review/makerhelper.rb', line 30 def self.copy_images_to_dir(from_dir, to_dir, = {}) image_files = [] Dir.open(from_dir) do |dir| dir.each do |fname| next if fname =~ /^\./ if FileTest.directory?("#{from_dir}/#{fname}") image_files += copy_images_to_dir("#{from_dir}/#{fname}", "#{to_dir}/#{fname}") else Dir.mkdir(to_dir) unless File.exist?(to_dir) is_converted = false ([:convert] || {}).each do |orig_type, conv_type| next unless /\.#{orig_type}$/ =~ fname is_converted = system("convert #{from_dir}/#{fname} #{to_dir}/#{fname}.#{conv_type}") image_files << "#{from_dir}/#{fname}.#{conv_type}" end if !is_converted && fname =~ /\.(png|gif|jpg|jpeg|svg|pdf|eps)$/i FileUtils.cp "#{from_dir}/#{fname}", to_dir image_files << "#{from_dir}/#{fname}" end end end end image_files end |