Sha256: 12d2aadcae8316c9db84c507379e70c3cecb5247c6ccd3e6598057b8bd530a69
Contents?: true
Size: 932 Bytes
Versions: 3
Compression:
Stored size: 932 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 and cnpj_allowed == false self.errors.add(:base, "Insira um CPF, não um CNPJ.") end else self.errors.add(:base, "#{cnpj_allowed ? "CPF/CPNJ" : "CPF"} inválido.") end end def format_tax_id document = TaxIdBr.new(self.tax_id) self.tax_id = document.formatted end end end ::Spree::Order.prepend self end end end
Version data entries
3 entries across 3 versions & 1 rubygems