class BrDanfe::DanfeLib::NfeLib::Infadic
Constants
- Y_POSITION
Public Class Methods
new(pdf, xml)
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 7 def initialize(pdf, xml) @pdf = pdf @xml = xml @title_position = Y_POSITION - 0.41 @y_position = Y_POSITION end
Public Instance Methods
render(volumes_number)
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 14 def render(volumes_number) render_title render_subtitle render_volumes if volumes_number > 1 render_additional_data generate_y_position(volumes_number) if additional_data? render_reserved_fisco end
Private Instance Methods
additional_data?()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 100 def additional_data? complementary? || address? || difal? || fisco? end
address?()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 62 def address? Helper.address_is_too_big @pdf, Helper.generate_address(@xml, 'enderDest') end
address_content()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 58 def address_content "Endereço: #{Helper.generate_address @xml, 'enderDest'}" end
complementary?()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 54 def complementary? @xml['infAdic/infCpl'].to_s != '' end
complementary_content()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 50 def complementary_content @xml['infAdic/infCpl'].to_s end
difal?()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 79 def difal? value = @xml['ICMSTot/vICMSUFDest'].presence || '0.0' BigDecimal(value).positive? end
difal_content()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 66 def difal_content I18n.t( 'danfe.infAdic.difal', vICMSUFDest: numerify(@xml['ICMSTot/vICMSUFDest']), vFCPUFDest: numerify(@xml['ICMSTot/vFCPUFDest']), vICMSUFRemet: numerify(@xml['ICMSTot/vICMSUFRemet']) ) end
fisco?()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 88 def fisco? @xml['infAdic/infAdFisco'].to_s.present? end
fisco_content()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 84 def fisco_content @xml['infAdic/infAdFisco'].to_s end
generate_additional_data()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 41 def generate_additional_data additional_data = [] additional_data.push(complementary_content) if complementary? additional_data.push(address_content) if address? additional_data.push(difal_content) if difal? additional_data.push(fisco_content) if fisco? additional_data.join(' * ') end
generate_y_position(volumes_number)
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 92 def generate_y_position(volumes_number) if volumes_number > 1 return Y_POSITION + 0.30 + volumes_number * 0.15 + 0.2 end Y_POSITION + 0.30 end
numerify(value)
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 75 def numerify(value) BrDanfe::Helper.numerify(value) if value != '' end
render_additional_data(y_position)
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 36 def render_additional_data(y_position) data = generate_additional_data @pdf.ibox 2.65, 12.45, 0.75, y_position, '', data, size: 6, valign: :top, border: 0 end
render_reserved_fisco()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 104 def render_reserved_fisco @pdf.ibox 2.65, 7.15, 13.20, @y_position, I18n.t('danfe.infAdic.reserved') end
render_subtitle()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 28 def render_subtitle @pdf.ibox 2.65, 12.45, 0.75, @y_position, I18n.t('danfe.infAdic.infCpl'), '', size: 8, valign: :top end
render_title()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 24 def render_title @pdf.ititle 0.42, 10.00, 0.75, @title_position, 'infAdic.title' end
render_volumes()
click to toggle source
# File lib/br_danfe/danfe_lib/nfe_lib/infadic.rb, line 32 def render_volumes InfadicVol.new(@xml, @pdf).render end