Module: Caligrafo::Converter

Defined in:
lib/caligrafo/converter.rb

Defined Under Namespace

Classes: Base, ConverterNotFound, Data, Decimal, Numerico

Class Method Summary collapse

Class Method Details

.formatadoresObject



3
4
5
# File 'lib/caligrafo/converter.rb', line 3

def self.formatadores
  @@formatadores ||= {}
end

.pesquisar_por_nome(nome) ⇒ Object



11
12
13
# File 'lib/caligrafo/converter.rb', line 11

def self.pesquisar_por_nome(nome)
  self.formatadores[nome]
end

.pesquisar_por_nome!(nome) ⇒ Object

Raises:



15
16
17
18
19
# File 'lib/caligrafo/converter.rb', line 15

def self.pesquisar_por_nome!(nome)
  resultado = self.pesquisar_por_nome(nome) 
  raise ConverterNotFound, "O formatador #{nome.inspect} nao foi registrado!" unless resultado
  resultado
end

.pesquisar_por_tipo(tipo) ⇒ Object



21
22
23
24
# File 'lib/caligrafo/converter.rb', line 21

def self.pesquisar_por_tipo(tipo)
  formatador   = self.formatadores.values.find { |f| f.tipos.include? tipo }
  formatador ||= self.formatadores[:default]
end

.registrar(nome, formatador) ⇒ Object



7
8
9
# File 'lib/caligrafo/converter.rb', line 7

def self.registrar(nome, formatador)
  self.formatadores[nome] = formatador.new
end