Class: Nanoc3::Extra::FileProxy
A FileProxy is a proxy for a File object. It is used to prevent a File object from being created until it is actually necessary.
For example, a site with a few thousand items would fail to compile because the massive amount of file descriptors necessary, but the file proxy will make sure the File object is not created until it is used.
Constructor Summary
public
initialize(path)
Creates a new file proxy for the given path. This is similar to creating a File object with the same path, except that the File object will not be created until it is accessed.
[View source]
18 19 20 |
# File 'lib/nanoc3/extra/file_proxy.rb', line 18 def initialize(path) @path = path end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
public
method_missing(sym, *args, &block)
Makes sure all method calls are relayed to a File object, which will be created right before the method call takes place and destroyed right after.
[View source]
25 26 27 |
# File 'lib/nanoc3/extra/file_proxy.rb', line 25 def method_missing(sym, *args, &block) File.new(@path).__send__(sym, *args, &block) end |