Unlike Mechanize::FileSaver, the directory saver places all downloaded files in a single pre-specified directory.
You must register the directory to save to before using the directory saver:
agent.pluggable_parser['image'] = \ Mechanize::DirectorySaver.save_to 'images'
The directory downloaded files will be saved to.
# File lib/mechanize/directory_saver.rb, line 29 def self.directory @directory end
Saves the body_io
into the directory specified for this DirectorySaver by save_to. The filename is
chosen by Mechanize::Parser#extract_filename.
# File lib/mechanize/directory_saver.rb, line 37 def initialize uri = nil, response = nil, body_io = nil, code = nil directory = self.class.directory raise Mechanize::Error, 'no save directory specified - ' 'use Mechanize::DirectorySaver.save_to ' 'and register the resulting class' unless directory super path = File.join directory, @filename save path end
Creates a DirectorySaver subclass that
will save responses to the given directory
.
# File lib/mechanize/directory_saver.rb, line 18 def self.save_to directory directory = File.expand_path directory Class.new self do |klass| klass.instance_variable_set :@directory, directory end end