nfse icon indicating copy to clipboard operation
nfse copied to clipboard

Atualizar abordagem de uso do Virtus

Open gabrielengel opened this issue 9 years ago • 0 comments

Oi!

Estou implementando a NFS-e de Porto Alegre - que é muito similar a NFS-e do Rio - e para isso tive que atualizar o mustache. Consequência do update é atualizar o Virtus (e a versão do ruby).

Bom, efeito colateral encontrado até agora foi a perda do acesso direto aos métodos de instância das classes com Virtus. O que significa que, por exemplo:

   {{{ render_rps }}}

Para de funcionar. O pior: nem quebra, apenas volta em branco como um atributo não existente. Ainda não li muito sobre o virtus, mas pelo que entendi, a abordagem para tornar esses métodos públicos, seria criar um atributo na classe e apontar o default dela para o método que queremos:

attribute :render_rps, String, default: :default_render_rps
  def default_render_rps
    rps.map(&:render).join('')
  end

Você deve ter estudado um pouco mais e a alteração afeta seu código. Gostaria de saber se esse é o caminho mesmo e se você me dá carta branca para alterar onde for necessário?

PS: Dá uma conferida em yaydev/nfse, estou atualizando a documentação também, principalmente escrevendo uma introdução mais conceitual pra quem quiser contribuir. Levei muito tempo lendo documentos mal organizados em diferentes fontes.

gabrielengel avatar Mar 16 '15 21:03 gabrielengel