Method: Arrow::Path#initialize

Defined in:
lib/arrow/path.rb

#initialize(path = [], cache_lifespan = DEFAULT_CACHE_LIFESPAN) ⇒ Path

Create a new Arrow::Path object for the specified path, which can be either a String containing directory names separated by File::PATH_SEPARATOR, an Array of directory names, or an object which returns such an Array when #to_a is called on it. If cache_lifespan is non-zero, the Array of valid directories will be cached for cache_lifespan seconds to save calls to stat().



83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'lib/arrow/path.rb', line 83

def initialize( path=[], cache_lifespan=DEFAULT_CACHE_LIFESPAN )
	@dirs = case path
			when Array
				path.flatten
			when String
				path.split(SEPARATOR)
			else
				path.to_a.flatten
			end

	@dirs.collect! {|dir| dir.untaint.to_s }

	@valid_dirs = []
	@cache_lifespan = cache_lifespan
	@last_stat = Time.at(0)
end