Class: PolishInvoicer::Vat

Inherits:
Object
  • Object
show all
Defined in:
lib/polish_invoicer/vat.rb

Class Method Summary collapse

Class Method Details

.ratesObject



5
6
7
# File 'lib/polish_invoicer/vat.rb', line 5

def self.rates
  (0..27)
end

.to_i(rate) ⇒ Object

Potrzebne do obliczeń netto/vat/brutto



27
28
29
# File 'lib/polish_invoicer/vat.rb', line 27

def self.to_i(rate)
  zw?(rate) ? 0 : rate
end

.to_s(rate) ⇒ Object



20
21
22
23
24
# File 'lib/polish_invoicer/vat.rb', line 20

def self.to_s(rate)
  return 'zw.' if zw?(rate)

  "#{rate}%"
end

.valid?(rate) ⇒ Boolean

Returns:

  • (Boolean)


9
10
11
12
13
# File 'lib/polish_invoicer/vat.rb', line 9

def self.valid?(rate)
  return true if zw?(rate)

  rates.include?(rate)
end

.zw?(rate) ⇒ Boolean

Czy stawka VAT to “zwolniony”?

Returns:

  • (Boolean)


16
17
18
# File 'lib/polish_invoicer/vat.rb', line 16

def self.zw?(rate)
  rate == -1 # -1 oznacza zwolniony z VAT
end