Class: Dedoublonneur

Inherits:
Object
  • Object
show all
Defined in:
lib/images/nommage/dedoublonneur.rb

Overview

Dedoublonneur

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(noms_attribues = [], noms_attribues_par_extension = {}) ⇒ Dedoublonneur

Returns a new instance of Dedoublonneur.



9
10
11
12
# File 'lib/images/nommage/dedoublonneur.rb', line 9

def initialize(noms_attribues = [], noms_attribues_par_extension = {})
  @noms_attribues = noms_attribues
  @noms_attribues_par_extension = noms_attribues_par_extension
end

Instance Attribute Details

#noms_attribuesObject

Returns the value of attribute noms_attribues.



7
8
9
# File 'lib/images/nommage/dedoublonneur.rb', line 7

def noms_attribues
  @noms_attribues
end

Instance Method Details

#attribution_par_numero(extension) ⇒ Object



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/images/nommage/dedoublonneur.rb', line 27

def attribution_par_numero(extension)
  type = Classification.get_type(extension)
  nom_numerote = ""
  if @noms_attribues_par_extension.key?(type)
    numeros_attribues = @noms_attribues_par_extension.fetch(type)
    numero = numeros_attribues.length + 1
    nom_numerote = format("%03d", numero)
    numeros_attribues.push(nom_numerote)
    @noms_attribues_par_extension.merge!({ type => numeros_attribues })
  else
    numero = 1
    nom_numerote = format("%03d", numero)
    numeros_attribues = []
    numeros_attribues.push(nom_numerote)
    @noms_attribues_par_extension.store(type, numeros_attribues)
  end
  nom_numerote
end

#dedoublonne_par_numerotation(nom) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/images/nommage/dedoublonneur.rb', line 14

def dedoublonne_par_numerotation(nom)
  i = 0
  nom_numerote = nom
  @noms_attribues.each do |nom_attribue|
    if nom_numerote == nom_attribue
      i += 1
      nom_numerote = format("%s-%02d", nom, i)
    end
  end
  @noms_attribues.push(nom_numerote)
  nom_numerote
end