Class: Restauration::Etape::TraitementDossierExtirpable

Inherits:
Object
  • Object
show all
Defined in:
lib/images/restauration/etape/traitement_dossier_extirpable.rb

Overview

Définit l’étape de traitement de dossier extirpable

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(extracteur, fichiers = {}) ⇒ TraitementDossierExtirpable

Returns a new instance of TraitementDossierExtirpable.



16
17
18
19
20
# File 'lib/images/restauration/etape/traitement_dossier_extirpable.rb', line 16

def initialize(extracteur, fichiers = {})
  @extracteur = extracteur
  @fichiers = fichiers
  @log = Logging.logger[self]
end

Instance Attribute Details

#fichiersObject (readonly)

Returns the value of attribute fichiers.



14
15
16
# File 'lib/images/restauration/etape/traitement_dossier_extirpable.rb', line 14

def fichiers
  @fichiers
end

Instance Method Details

#parcours(dossiers) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/images/restauration/etape/traitement_dossier_extirpable.rb', line 22

def parcours(dossiers)
  dossiers.each do |dossier|
    @log.info "Traitement sur le dossier '#{dossier}'"
    dedoublonneur = Dedoublonneur.new
    Dir.each_child(dossier) do |nom_fichier|
      fichier = "#{dossier}/#{nom_fichier}"
      @log.debug "Traitement sur le fichier '#{fichier}'"
      date_extraite = @extracteur.extraction_du(File.basename(fichier, File.extname(fichier)))
      nom_attribue = dedoublonneur.dedoublonne_par_numerotation(NomAttributeur.attribut_par(File.extname(fichier),
                                                                                            date_extraite))
      @fichiers.store(fichier,
                      Fichier.new(nom_attribue, date_extraite, File.dirname(fichier), File.extname(fichier)))
    rescue ExtractionErreur => e
      @log.error e.message
    end
  end
end