Module: ArchUnit::Files::Extraction

Defined in:
lib/archunit/files/extraction/file_info.rb,
lib/archunit/files/extraction/extract_file_info.rb

Overview

Ruby-specific descriptive data extraction for file rules.

Defined Under Namespace

Classes: FileInfo

Class Method Summary collapse

Class Method Details

.extract_file_info(project_root, relative_path) ⇒ Object



13
14
15
16
17
18
19
20
21
22
# File 'lib/archunit/files/extraction/extract_file_info.rb', line 13

def extract_file_info(project_root, relative_path)
  root = project_directory(project_root)
  identifier = normalized_identifier(relative_path)
  source_path = source_path_within(root, identifier)
  build_file_info(identifier, read_source(source_path))
rescue TechnicalError
  raise
rescue SystemCallError => e
  raise TechnicalError, "could not extract file information: #{e.message}"
end