Module: DigestedFile::ClassMethods

Included in:
FindingAidFile, SchematronFile
Defined in:
app/models/digested_file.rb

Overview

Definitions for class methods in including class

Instance Method Summary (collapse)

Instance Method Details

- (DigestedFile?) [](digest)

Returns the file or nil

Parameters:

  • digest (String)

    SHA256 digest in hex format

Returns:



71
72
73
74
75
76
77
78
# File 'app/models/digested_file.rb', line 71

def [](digest)
  @fname = File.join(self::FILE_DIR, "#{digest}.xml")
  if File.exists? @fname
    new(File.open(@fname, 'r'))
  else
    nil
  end
end

- (Array<String>) digests

SHA digests of all files in FILE_DIR

Returns:

  • (Array<String>)

    SHA256 digests



90
91
92
# File 'app/models/digested_file.rb', line 90

def digests
  filenames.map {|f| File.basename(f).sub(/\.xml$/, '') }
end

- (Array<String>) filenames

Filenames of all files in FILE_DIR

Returns:

  • (Array<String>)

    filenames



83
84
85
# File 'app/models/digested_file.rb', line 83

def filenames
  Dir[File.join(self::FILE_DIR, '*.xml')].sort_by { |fn| File.ctime fn }
end