lib/polish_invoicer/validator.rb in polish_invoicer-0.0.19 vs lib/polish_invoicer/validator.rb in polish_invoicer-0.0.20
- old
+ new
@@ -16,10 +16,11 @@
check_booleans
check_price
check_vat
check_proforma
check_create_and_payment_date
+ check_currency
@errors.empty?
end
private
@@ -38,10 +39,11 @@
end
def check_not_nil
@errors[:gross_price] = 'Konieczne jest ustawienie znacznika rodzaju ceny (netto/brutto)' if @invoice.gross_price.nil?
@errors[:paid] = 'Konieczne jest ustawienie znacznika opłacenia faktury' if @invoice.paid.nil?
+ @errors[:currency] = 'Konieczne jest ustawienie waluty rozliczeniowej' if @invoice.currency.nil?
end
def check_arrays
@errors[:seller] = 'Sprzedawca musi być podany jako tablica stringów' unless @invoice.seller.is_a?(Array)
@errors[:buyer] = 'Nabywca musi być podany jako tablica stringów' unless @invoice.buyer.is_a?(Array)
@@ -98,9 +100,15 @@
def check_create_and_payment_date
return if @errors[:create_date]
return if @errors[:payment_date]
return if @invoice.create_date <= @invoice.payment_date
@errors[:payment_date] = 'Termin płatności nie może być wcześniejszy niż data wystawienia'
+ end
+
+ def check_currency
+ return if @errors[:currency]
+ return if %w[PLN EUR USD GBP].include?(@invoice.currency)
+ @errors[:currency] = 'Nieznana waluta'
end
def blank?(value)
value.to_s.strip == ''
end