Sha256: 15b399886937223d7a502793a79b8803f2294e5f53b842fd69f0e9a2dbfd2c70
Contents?: true
Size: 916 Bytes
Versions: 2
Compression:
Stored size: 916 Bytes
Contents
# frozen_string_literal: true module SolidusBrazilianAdaptations module Spree module OrderDecorator def self.prepended(base) base.class_eval do validate :verify, if: :email_required? before_update :format_tax_id def verify cnpj_allowed = SolidusBrazilianAdaptations.config.allow_cnpj document = TaxIdBr.new(tax_id) if document.valid? if document.document_type == :cnpj && cnpj_allowed == false errors.add(:base, "Insira um CPF, não um CNPJ.") end else errors.add(:base, "#{cnpj_allowed ? "CPF/CPNJ" : "CPF"} inválido.") end end def format_tax_id document = TaxIdBr.new(tax_id) self.tax_id = document.formatted end end end ::Spree::Order.prepend self end end end
Version data entries
2 entries across 2 versions & 1 rubygems