moss_generator 0.1.3 → 0.1.5

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: f1462fa3751817e880b7dbb132fa79995f0bd81a78b486f072df43488ea50165
4
- data.tar.gz: 66ce0390a72a02f1e37658dbee109a0987e487320be9bb62504222cedbc9b097
3
+ metadata.gz: ad1ddceb7b906a75ee7db040f6f02daa81743a0740ee9f3c060d6ec91b4fdf29
4
+ data.tar.gz: 94c9ba93ab8d08a7db9829cadd1c9e2cc5770777d09015e6bbbfa085aa207cd5
5
5
  SHA512:
6
- metadata.gz: 291d9960062859955bb3591eebd0f74bae82c661353c6ffe37e12d5376ca9a0a4ff2c868a1ab23a7760aa09a3e495e01c2d3ad1a7e00484c8314078a4cc3e707
7
- data.tar.gz: 729c6a64c26bf282d8eef6f7f2a14cff28ea479b1249c29488c870a8c9b26ea30115e94107e5e11a1391eed4e90052778f8822f38a81f931bb336d09e0cf95c3
6
+ metadata.gz: 2c550595f24be6127e4555c58320e6e48c331cd17a8e74000ea57fbf7939d53c73c31bb390b3d7f71d84f7b0768f7c823e519a93b2b90bc226f30b6945bbb8af
7
+ data.tar.gz: d803e9ec37eceb859a5d726d0a5376659a979039add06b84a2d8ce47dc2cb19a55adbc2be9f7cad0f4f88a7ed00095b430a3dbe641811996f7fbe87fded1f378
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- moss_generator (0.1.3)
4
+ moss_generator (0.1.5)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -45,8 +45,11 @@ module MossGenerator
45
45
 
46
46
  def group_charges_rows
47
47
  charges_rows = charges.map do |charge|
48
- MossGenerator::StripeChargeRow.new(charge)
49
- end
48
+ charge_row = MossGenerator::StripeChargeRow.new(charge)
49
+ next if charge_row.skippable?
50
+
51
+ charge_row
52
+ end.compact
50
53
  charges_rows.group_by(&:country_code)
51
54
  end
52
55
 
@@ -22,7 +22,7 @@ module MossGenerator
22
22
  end
23
23
 
24
24
  def amount
25
- charge.dig('balance_transaction', 'amount')
25
+ amount_without_vat
26
26
  end
27
27
 
28
28
  def vat_rate
@@ -33,15 +33,42 @@ module MossGenerator
33
33
  amount * vat_rate_calculatable_percent
34
34
  end
35
35
 
36
+ def skippable?
37
+ company? || not_completed? || refunded?
38
+ end
39
+
36
40
  private
37
41
 
42
+ def company?
43
+ charge.dig('metadata', 'vat_number').nil? ? false : true
44
+ end
45
+
46
+ def not_completed?
47
+ charge['status'] != 'succeeded'
48
+ end
49
+
50
+ def refunded?
51
+ charge['refunded']
52
+ end
53
+
54
+ def amount_without_vat
55
+ amount_with_vat * percent_without_vat
56
+ end
57
+
58
+ def amount_with_vat
59
+ charge.dig('balance_transaction', 'amount')
60
+ end
61
+
62
+ def percent_without_vat
63
+ 1 / (vat_rate_calculatable_percent + 1)
64
+ end
65
+
38
66
  def vat_rate_calculatable_percent
39
67
  (vat_rate.to_f / 100)
40
68
  end
41
69
 
42
70
  def fetch_country_code
43
- charge.dig('payment_method_details', 'card', 'country') ||
44
- charge.dig('billing_details', 'address', 'country')
71
+ charge.dig('payment_method_details', 'card', 'country')
45
72
  end
46
73
  end
47
74
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MossGenerator
4
- VERSION = '0.1.3'
4
+ VERSION = '0.1.5'
5
5
  end
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: moss_generator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - frdrkolsson
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
11
  date: 2021-01-15 00:00:00.000000000 Z
@@ -43,7 +43,7 @@ metadata:
43
43
  homepage_uri: https://github.com/standout/moss_generator
44
44
  source_code_uri: https://github.com/standout/moss_generator
45
45
  changelog_uri: https://github.com/standout/moss_generator
46
- post_install_message:
46
+ post_install_message:
47
47
  rdoc_options: []
48
48
  require_paths:
49
49
  - lib
@@ -58,8 +58,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
60
  requirements: []
61
- rubygems_version: 3.1.2
62
- signing_key:
61
+ rubygems_version: 3.2.3
62
+ signing_key:
63
63
  specification_version: 4
64
64
  summary: Skatteverket Mini One Stop Shop(MOSS) generator.
65
65
  test_files: []