polish_invoicer 0.0.24 → 0.0.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83d6168d0e9d3dee433a2d9a0e7b6444120ea67834543ea6faf56ba4bf97d573
4
- data.tar.gz: 12ce7534dd021a52e3b78efd9cb07e2f8872fd2b97c731c672785e68560b03fb
3
+ metadata.gz: e50ba77f3a3539b5a75c12e3213dd8e0f56bc7788c7ab74d43ec661ef8e12d94
4
+ data.tar.gz: 9193da0b3dd714fa51ac52e06a2b87191a493f7539132b41115ce89c86851632
5
5
  SHA512:
6
- metadata.gz: 78c45cea18508cdabaef2d83a67b622135b1270b251f7ae9fa291ef31818ba0368784a28a1800ceaa811b6fdb470993dbf0815e41e443050a65146ffb7e5b6fb
7
- data.tar.gz: 2ea922f4e34e5b20a27204ef7ca3a189a211cf1d8cb31da26c74310a6d8a468214ebf5902f0b5020783832397b4885c90ff181252440bbe39ee78b8289dced83
6
+ metadata.gz: f0839922dbbab96b6e580f5c63ca86d4b2789c6b3f771d0195c5251cb48e9c6ef3b23fccd22ebfe3fb8f603ba007836d073f71a33f876af85a77f4e7e5a7d38d
7
+ data.tar.gz: 3f608c82265282b14e5c1af278e3b38fefb9830005ea0bf3c9517c552dc5a76e5c10052f684f056a180db45f7d5599a2bc4b12d25ef4901c2ab3858f73272ef5
data/README.md CHANGED
@@ -87,8 +87,6 @@ invoice.save_to_pdf('/path/to/invoice.pdf')
87
87
  # wartość domyślna: 23
88
88
  :paid, # znacznik opłacenia usługi (boolean)
89
89
  # wartość domyślna: true, czyli opłacona
90
- :price_paid, # kwota częściowego opłacenia faktury w złotych (float)
91
- # wartość domyślna: 0.0
92
90
  :proforma, # znacznik faktury pro-forma (boolean)
93
91
  # wartość domyślna: false
94
92
  :payment_type, # rodzaj płatności (string)
@@ -110,6 +108,7 @@ invoice.save_to_pdf('/path/to/invoice.pdf')
110
108
  :pkwiu, # numer PKWiU (string)
111
109
  :no_vat_reason, # podstawa prawna zwolnienia z VAT (string)
112
110
  :footer, # treść umieszczana w stopce faktury (string)
111
+ :price_paid, # kwota częściowego opłacenia faktury w złotych (float)
113
112
 
114
113
  ### Parametry systemowe
115
114
 
@@ -11,7 +11,7 @@ module PolishInvoicer
11
11
  :recipient, # odbiorca faktury (tablica stringów)
12
12
  :item_name, # nazwa usługi (string)
13
13
  :price, # cena w złotych (float)
14
- :price_paid, # kwota częściowego opłacenia faktury w złotych, domyślnie: 0.0 (float)
14
+ :price_paid, # kwota częściowego opłacenia faktury w złotych
15
15
  :gross_price, # znacznik rodzaju ceny (netto/brutto), domyślnie: true (boolean)
16
16
  :vat, # stawka vat, domyślnie: 23 (integer)
17
17
  :pkwiu, # numer PKWiU (string)
@@ -90,11 +90,11 @@ module PolishInvoicer
90
90
  end
91
91
 
92
92
  def paid_value
93
- paid ? total_to_pay_value : price_paid
93
+ paid ? total_to_pay_value : price_paid.to_f
94
94
  end
95
95
 
96
96
  def to_pay_value
97
- paid ? 0 : (total_to_pay_value - price_paid)
97
+ paid ? 0 : (total_to_pay_value - price_paid.to_f)
98
98
  end
99
99
 
100
100
  private
@@ -104,7 +104,6 @@ module PolishInvoicer
104
104
  @vat = 23
105
105
  @payment_type = 'Przelew'
106
106
  @paid = true
107
- @price_paid = 0.0
108
107
  @proforma = false
109
108
  @foreign_buyer = false
110
109
  @reverse_charge = false
@@ -84,7 +84,9 @@ module PolishInvoicer
84
84
  end
85
85
 
86
86
  def check_price_paid
87
+ return if @invoice.price_paid.nil?
87
88
  return if @invoice.price.nil?
89
+
88
90
  if @invoice.price_paid.is_a?(Numeric)
89
91
  @errors[:price_paid] = 'Kwota zapłacona musi być liczbą dodatnią' unless @invoice.price_paid >= 0
90
92
  @errors[:price_paid] = 'Kwota zapłacona musi być mniejsza lub równa cenie' unless @invoice.price_paid <= @invoice.price
@@ -1,3 +1,3 @@
1
1
  module PolishInvoicer
2
- VERSION = '0.0.24'.freeze
2
+ VERSION = '0.0.25'.freeze
3
3
  end
@@ -142,6 +142,7 @@ module PolishInvoicer
142
142
  def test_paid_value
143
143
  assert_equal 123, Invoice.new(price: 123).paid_value
144
144
  assert_equal 123, Invoice.new(price: 123, price_paid: 100).paid_value
145
+ assert_equal 0, Invoice.new(price: 123, paid: false).paid_value
145
146
  assert_equal 100, Invoice.new(price: 123, paid: false, price_paid: 100).paid_value
146
147
  assert_equal 100, Invoice.new(price: 123, gross_price: false, paid: false, price_paid: 100).paid_value
147
148
  assert_equal 100, Invoice.new(price: 123, reverse_charge: true, paid: false, price_paid: 100).paid_value
@@ -150,6 +151,7 @@ module PolishInvoicer
150
151
  def test_to_pay_value
151
152
  assert_equal 0, Invoice.new(price: 123).to_pay_value
152
153
  assert_equal 0, Invoice.new(price: 123, price_paid: 100).to_pay_value
154
+ assert_equal 123, Invoice.new(price: 123, paid: false).to_pay_value
153
155
  assert_equal 23, Invoice.new(price: 123, paid: false, price_paid: 100).to_pay_value
154
156
  assert_equal 23, Invoice.new(price: 100, gross_price: false, paid: false, price_paid: 100).to_pay_value
155
157
  assert_equal 50, Invoice.new(price: 123, reverse_charge: true, paid: false, price_paid: 50).to_pay_value
@@ -56,7 +56,7 @@ module PolishInvoicer
56
56
 
57
57
  def test_price_paid_validation
58
58
  @invoice.price = 200
59
- check_error(:price_paid)
59
+ check_ok(:price_paid)
60
60
  check_error(:price_paid, 'test')
61
61
  check_error(:price_paid, '100')
62
62
  check_error(:price_paid, -10)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polish_invoicer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.24
4
+ version: 0.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - Piotr Macuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-28 00:00:00.000000000 Z
11
+ date: 2020-10-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -152,7 +152,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
152
152
  - !ruby/object:Gem::Version
153
153
  version: '0'
154
154
  requirements: []
155
- rubygems_version: 3.0.8
155
+ rubygems_version: 3.1.4
156
156
  signing_key:
157
157
  specification_version: 4
158
158
  summary: Creates polish invoices and proforms as HTML or PDF files