Class: FeduxOrgStdlib::RecursiveFileFinder
- Inherits:
-
Object
- Object
- FeduxOrgStdlib::RecursiveFileFinder
- Defined in:
- lib/fedux_org_stdlib/recursive_file_finder.rb
Overview
Look for file recursively
Instance Attribute Summary collapse
-
#file_name ⇒ RecursiveFileFinder
readonly
Create a new instance of finder.
-
#logger ⇒ RecursiveFileFinder
readonly
Create a new instance of finder.
-
#raise_error ⇒ RecursiveFileFinder
readonly
Create a new instance of finder.
-
#working_directory ⇒ RecursiveFileFinder
readonly
Create a new instance of finder.
Instance Method Summary collapse
-
#directory ⇒ Pathname
The directory where file was found.
-
#file ⇒ Pathname
Return path to file.
-
#initialize(file_name:, working_directory: Dir.getwd, logger: FeduxOrgStdlib::Logging::Logger.new, raise_error: true) ⇒ RecursiveFileFinder
constructor
A new instance of RecursiveFileFinder.
Constructor Details
#initialize(file_name:, working_directory: Dir.getwd, logger: FeduxOrgStdlib::Logging::Logger.new, raise_error: true) ⇒ RecursiveFileFinder
Returns a new instance of RecursiveFileFinder.
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/fedux_org_stdlib/recursive_file_finder.rb', line 27 def initialize( file_name:, working_directory: Dir.getwd, logger: FeduxOrgStdlib::Logging::Logger.new, raise_error: true ) @logger = logger @working_directory = Pathname.new(working_directory). @file_name = Pathname.new(file_name) @raise_error = raise_error end |
Instance Attribute Details
#file_name ⇒ RecursiveFileFinder (readonly)
Create a new instance of finder
It tries to find a file.
25 26 27 |
# File 'lib/fedux_org_stdlib/recursive_file_finder.rb', line 25 def file_name @file_name end |
#logger ⇒ RecursiveFileFinder (readonly)
Create a new instance of finder
It tries to find a file.
25 26 27 |
# File 'lib/fedux_org_stdlib/recursive_file_finder.rb', line 25 def logger @logger end |
#raise_error ⇒ RecursiveFileFinder (readonly)
Create a new instance of finder
It tries to find a file.
25 26 27 |
# File 'lib/fedux_org_stdlib/recursive_file_finder.rb', line 25 def raise_error @raise_error end |
#working_directory ⇒ RecursiveFileFinder (readonly)
Create a new instance of finder
It tries to find a file.
25 26 27 |
# File 'lib/fedux_org_stdlib/recursive_file_finder.rb', line 25 def working_directory @working_directory end |
Instance Method Details
#directory ⇒ Pathname
The directory where file was found
69 70 71 72 73 74 75 |
# File 'lib/fedux_org_stdlib/recursive_file_finder.rb', line 69 def directory return file.dirname if file fail Errno::ENOENT, file_name.to_s if raise_error nil end |
#file ⇒ Pathname
Return path to file
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/fedux_org_stdlib/recursive_file_finder.rb', line 46 def file return @found_path if @found_path @found_path = nil working_directory.ascend do |p| path = p + file_name @found_path = path if path.exist? end return @found_path if @found_path fail Errno::ENOENT, file_name.to_s if raise_error nil end |