class BrDanfe::DanfeLib::NfeLib::Dest

Constants

MAXIMUM_SIZE_FOR_STREET
Y

Public Class Methods

new(pdf, xml) click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 8
def initialize(pdf, xml)
  @pdf = pdf
  @xml = xml
  @xml_version_is_310_or_newer = @xml.version_is_310_or_newer?

  @ltitle = Y - 0.42
  @l1 = Y
  @l2 = Y + LINE_HEIGHT
  @l3 = Y + (LINE_HEIGHT * 2)
end

Public Instance Methods

render() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 19
def render
  @pdf.ititle 0.42, 10.00, 0.75, @ltitle, 'dest.title'

  render_line1
  render_line2
  render_line3

  @xml_version_is_310_or_newer ? render_dates_for_nfe_310_or_newer : render_dates_for_older_nfes
end

Private Instance Methods

address() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 55
def address
  address = Helper.generate_address @xml, 'enderDest'

  if Helper.address_is_too_big(@pdf, address)
    address = address[0..address.length - 2] while Helper.mensure_text(@pdf, "#{address.strip}...") > MAXIMUM_SIZE_FOR_STREET && !address.empty?
    address = "#{address.strip}..."
  end
  address
end
cep() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 65
def cep
  BrDanfe::Helper.format_cep(@xml['enderDest/CEP'])
end
cpf() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 44
def cpf
  cpf = BrDocuments::CnpjCpf::Cpf.new(@xml['dest/CPF'])
  cpf.formatted
end
phone() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 76
def phone
  Phone.format(@xml['enderDest/fone'])
end
render_cnpj_cpf() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 36
def render_cnpj_cpf
  if @xml['dest/CNPJ'] == ''
    @pdf.i18n_lbox LINE_HEIGHT, 4.37, 12.57, @l1, 'dest.CPF', cpf
  else
    @pdf.lcnpj LINE_HEIGHT, 4.37, 12.57, @l1, @xml, 'dest/CNPJ'
  end
end
render_dates(emitted_at_date_and_hour, exited_at_date, exited_at_hour) click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 84
def render_dates(emitted_at_date_and_hour, exited_at_date, exited_at_hour)
  @pdf.ldate LINE_HEIGHT, 2.92, 17.40, @l1, 'ide.dEmi', @xml[emitted_at_date_and_hour], align: :right
  @pdf.ldate LINE_HEIGHT, 2.92, 17.40, @l2, 'ide.dSaiEnt', @xml[exited_at_date], align: :right
  @pdf.ltime LINE_HEIGHT, 2.92, 17.40, @l3, 'ide.hSaiEnt', @xml[exited_at_hour], align: :right
end
render_dates_for_nfe_310_or_newer() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 80
def render_dates_for_nfe_310_or_newer
  render_dates 'ide/dhEmi', 'ide/dhSaiEnt', 'ide/dhSaiEnt'
end
render_dates_for_older_nfes() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 90
def render_dates_for_older_nfes
  render_dates 'ide/dEmi', 'ide/dSaiEnt', 'ide/hSaiEnt'
end
render_line1() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 31
def render_line1
  @pdf.lbox LINE_HEIGHT, 11.82, 0.75, @l1, @xml, 'dest/xNome'
  render_cnpj_cpf
end
render_line2() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 49
def render_line2
  @pdf.i18n_lbox LINE_HEIGHT, 9.66, 0.75, @l2, 'enderDest.xLgr', address
  @pdf.lbox LINE_HEIGHT, 4.33, 10.41, @l2, @xml, 'enderDest/xBairro'
  @pdf.i18n_lbox LINE_HEIGHT, 2.20, 14.74, @l2, 'enderDest.CEP', cep
end
render_line3() click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/dest.rb, line 69
def render_line3
  @pdf.lbox LINE_HEIGHT, 6.61, 0.75, @l3, @xml, 'enderDest/xMun'
  @pdf.i18n_lbox LINE_HEIGHT, 4.06, 7.36, @l3, 'enderDest.fone', phone
  @pdf.lbox LINE_HEIGHT, 1.14, 11.42, @l3, @xml, 'enderDest/UF'
  @pdf.lie LINE_HEIGHT, 4.38, 12.56, @l3, @xml, 'enderDest/UF', 'dest/IE'
end