class Libis::Format::Tool::ExtensionIdentification

Public Instance Methods

run(file, _options) click to toggle source
# File lib/libis/format/tool/extension_identification.rb, line 27
def run(file, _options)

  output = runner(file)

  process_output(output)

end
run_dir(dir, recursive = true, _options = {}) click to toggle source
# File lib/libis/format/tool/extension_identification.rb, line 17
def run_dir(dir, recursive = true, _options = {})

  filelist = find_files(dir, recursive)

  output = runner(nil, filelist)

  process_output(output)

end
run_list(filelist, _options = {}) click to toggle source
# File lib/libis/format/tool/extension_identification.rb, line 9
def run_list(filelist, _options = {})

  output = runner(nil, filelist)

  process_output(output)

end

Protected Instance Methods

runner(*args) click to toggle source
# File lib/libis/format/tool/extension_identification.rb, line 37
def runner(*args)

  args.map do |file|
    info = ::Libis::Format::Library.get_info_by(:extension, File.extname(file))
    if info
      {
          filepath: file,
          mimetype: (info[:mimetypes].first rescue nil),
          puid: (info[:puids].first rescue nil),
          matchtype: 'extension',
          tool: :format_library
      }
    end
  end.cleanup

end