Class: BrDanfe::DanfeLib::NfeLib::Ticket

Inherits:
Object
  • Object
show all
Defined in:
lib/br_danfe/danfe_lib/nfe_lib/ticket.rb

Instance Method Summary collapse

Constructor Details

#initialize(pdf, xml) ⇒ Ticket

Returns a new instance of Ticket.



5
6
7
8
# File 'lib/br_danfe/danfe_lib/nfe_lib/ticket.rb', line 5

def initialize(pdf, xml)
  @pdf = pdf
  @xml = xml
end

Instance Method Details

#emmited_at_contentObject



45
46
47
# File 'lib/br_danfe/danfe_lib/nfe_lib/ticket.rb', line 45

def emmited_at_content
  @xml['ide/dhEmi'].present? ? Helper.format_date(@xml['ide/dhEmi']) : Helper.format_date(@xml['ide/dEmi'])
end

#generate_additional_dataObject



24
25
26
27
28
29
30
31
# File 'lib/br_danfe/danfe_lib/nfe_lib/ticket.rb', line 24

def generate_additional_data
  additional_data = []
  additional_data.push(name_content)
  additional_data.push("DESTINATÁRIO: #{recipient_content}")
  additional_data.push("EMITIDA EM: #{emmited_at_content}")
  additional_data.push("VALOR TOTAL DA NOTA: R$ #{total_value_content}")
  additional_data.join(' * ')
end

#name_contentObject



33
34
35
# File 'lib/br_danfe/danfe_lib/nfe_lib/ticket.rb', line 33

def name_content
  I18n.t('danfe.ticket.xNome', xNome: @xml['emit/xNome'])
end

#recipient_contentObject



37
38
39
# File 'lib/br_danfe/danfe_lib/nfe_lib/ticket.rb', line 37

def recipient_content
  @xml['dest/xNome'].to_s
end

#renderObject



10
11
12
13
14
15
16
17
# File 'lib/br_danfe/danfe_lib/nfe_lib/ticket.rb', line 10

def render
  render_additional_data
  @pdf.ibox 0.85, 3.85, 0.75, 2.7, I18n.t('danfe.ticket.received_at')
  @pdf.ibox 0.85, 11.75, 4.60, 2.7, I18n.t('danfe.ticket.receiver')
  @pdf.ibox 1.70, 4.00, 16.35, 1.85, '',
            I18n.t('danfe.ticket.document', nNF: @xml['ide/nNF'], serie: @xml['ide/serie']),
            align: :center, valign: :center
end

#render_additional_dataObject



19
20
21
22
# File 'lib/br_danfe/danfe_lib/nfe_lib/ticket.rb', line 19

def render_additional_data
  data = generate_additional_data
  @pdf.ibox 0.85, 15.60, 0.75, 1.85, '', data, size: 6
end

#total_value_contentObject



41
42
43
# File 'lib/br_danfe/danfe_lib/nfe_lib/ticket.rb', line 41

def total_value_content
  BrDanfe::Helper.numerify(@xml['ICMSTot/vNF']).to_s
end