skv_report 0.3.0 → 0.3.1

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: c31bd0550e519a43a66dd68769bc31ff1fe7b0b31bcbedb00ceb347c2f0aa85c
4
- data.tar.gz: b207e0835e2775c0715ac331a8e76ca9f3eb7418af1ecd1f06addb6ea90f4e2b
3
+ metadata.gz: 256f62be78009098636a7a70508bdead8d7b6bf8ca42446de579b06fc754a29f
4
+ data.tar.gz: 064b150c1c4cb7ad01afe76f09a49fb21d1273be15ffc1f769a8ef53c6224af4
5
5
  SHA512:
6
- metadata.gz: 8ff058a181aacd7bd378aa29b92671b9f1899a6d9839d8818621c682f217066fea9f439efbdc9258d2fc923a1b9af76762cee6774a0b1524ae80e2c5c88dc800
7
- data.tar.gz: c3b3244deca7946db8709cdca43b1b15dfa732837b3c900d49591dc378848c522569977fc20fa15d71e69ca46aa120593a3390d85ecfa1f5b1cb11f3ea3689cf
6
+ metadata.gz: 5bbf13c9b1b83e368c8b983429ebd6b0b3f6ec794c7eccd8822c0779062f89a02626a16fa50e295b320f5b4740a6cdd8be2ca6665f973e413d4435266a5fa12b
7
+ data.tar.gz: 5fb0719b5815e59230ab3e8b9b19c5bc38e8b959489c165ffc443971e8a5537376b795f818487051a9f91f93ce80a2fc2ba21649fee7e8e2e7e626c365c9d85b
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- skv_report (0.3.0)
4
+ skv_report (0.3.1)
5
5
  money (~> 6.14)
6
6
  valvat (~> 1.1)
7
7
 
@@ -6,8 +6,6 @@ require 'skv_report/stripe_charge_row'
6
6
  module SKVReport
7
7
  # Generate SKV CSV string from Stripe charge
8
8
  class Stripe
9
- class NoTurnoverCountryError < StandardError; end
10
-
11
9
  class UndefinedTypeOfSalesError < StandardError; end
12
10
 
13
11
  attr_reader :charges, :period, :year, :company_information, :rates
@@ -19,7 +19,7 @@ module SKVReport
19
19
  #
20
20
  def initialize(charge, exchange_rates)
21
21
  @charge = charge
22
- @buyer_vat_number = charge.dig('customer', 'tax_info', 'tax_id') || ''
22
+ @buyer_vat_number = vat_number
23
23
  @exchange_rates = exchange_rates
24
24
  end
25
25
 
@@ -28,11 +28,23 @@ module SKVReport
28
28
  end
29
29
 
30
30
  def skippable?
31
- swedish_buyer? || !valid_vat_number? || not_completed? || refunded?
31
+ buyer_vat_number.nil? ||
32
+ swedish_buyer? ||
33
+ !valid_vat_number? ||
34
+ not_completed? ||
35
+ refunded?
32
36
  end
33
37
 
34
38
  private
35
39
 
40
+ def vat_number
41
+ tax_object = charge.dig('customer', 'tax_ids', 'data').find do |tax_data|
42
+ tax_data['type'].casecmp?('eu_vat')
43
+ end
44
+
45
+ tax_object&.fetch('value', '')
46
+ end
47
+
36
48
  def swedish_buyer?
37
49
  buyer_vat_number[0...2].casecmp?('SE')
38
50
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SKVReport
4
- VERSION = '0.3.0'
4
+ VERSION = '0.3.1'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skv_report
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - frdrkolsson