moss_generator 0.1.3 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
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: []