class BuhoCfdi::ParamsBuilder
Attributes
params[RW]
receipt[RW]
Public Class Methods
new(params)
click to toggle source
# File lib/buho_cfdi/params_builder.rb, line 9 def initialize(params) @params = params build_receipt build_cfdi_related build_issuer build_receiver build_concepts build_taxes receipt end
Public Instance Methods
build_concepts()
click to toggle source
# File lib/buho_cfdi/params_builder.rb, line 62 def build_concepts if params.include?(:receipt) && params.fetch(:receipt).include?(:concepts_attributes) @receipt.build_children ::Nodes::Concept params.fetch(:receipt).fetch(:concepts_attributes).each do |params| concept = @receipt.nodes_concept.add params if params.include?(:transferred_attributes) concept.build_children ::Nodes::TaxTransferred params.fetch(:transferred_attributes).each do |params| concept.nodes_taxtransferred.add params end end if params.include?(:detained_attributes) concept.build_children ::Nodes::TaxDetained params.fetch(:detained_attributes).each do |params| concept.nodes_taxdetained.add params end end if params.include?(:customs_information_attributes) concept.build_child! ::Nodes::CustomsInformation, params.fetch(:customs_information_attributes) end if params.include?(:property_account_attributes) concept.build_child! ::Nodes::PropertyAccount, params.fetch(:property_account_attributes) end if params.include?(:part_attributes) concept.build_child! ::Nodes::Part, params.fetch(:part_attributes) end end else nil end end
build_issuer()
click to toggle source
# File lib/buho_cfdi/params_builder.rb, line 46 def build_issuer if params.include?(:receipt) && params.fetch(:receipt).include?(:issuer_attributes) @receipt.build_child! ::Nodes::Issuer, params.fetch(:receipt).fetch(:issuer_attributes) else nil end end
build_receipt()
click to toggle source
# File lib/buho_cfdi/params_builder.rb, line 22 def build_receipt if params.include?(:receipt) @receipt = ::Nodes::Receipt.new params.fetch(:receipt) else nil end end
build_receiver()
click to toggle source
# File lib/buho_cfdi/params_builder.rb, line 54 def build_receiver if params.include?(:receipt) && params.fetch(:receipt).include?(:receiver_attributes) @receipt.build_child! ::Nodes::Receiver, params.fetch(:receipt).fetch(:receiver_attributes) else nil end end
build_taxes()
click to toggle source
# File lib/buho_cfdi/params_builder.rb, line 103 def build_taxes if params.include?(:receipt) && params.fetch(:receipt).include?(:taxes_attributes) @receipt.build_child! ::Nodes::Taxes, params.fetch(:receipt).fetch(:taxes_attributes) if params.fetch(:receipt).fetch(:taxes_attributes).include?(:transferred_attributes) @receipt.nodes_taxes.build_children ::Nodes::Transferred params.fetch(:receipt).fetch(:taxes_attributes).fetch(:transferred_attributes).each do |params| @receipt.nodes_taxes.nodes_transferred.add params end end if params.fetch(:receipt).fetch(:taxes_attributes).include?(:detained_attributes) @receipt.nodes_taxes.build_children ::Nodes::Detained params.fetch(:receipt).fetch(:taxes_attributes).fetch(:detained_attributes).each do |params| @receipt.nodes_taxes.nodes_detained.add params end end end end