banktools-se 2.6.3 → 3.1.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 +5 -5
- data/.github/workflows/ci.yml +27 -0
- data/.gitignore +1 -0
- data/.rubocop.yml +5 -0
- data/CHANGELOG.md +19 -0
- data/Gemfile +6 -1
- data/README.markdown +64 -61
- data/Rakefile +2 -2
- data/banktools-se.gemspec +4 -6
- data/lib/banktools-se/account/clearing_number.rb +15 -2
- data/lib/banktools-se/account.rb +5 -5
- data/lib/banktools-se/bankgiro.rb +1 -1
- data/lib/banktools-se/ocr.rb +4 -3
- data/lib/banktools-se/plusgiro.rb +1 -1
- data/lib/banktools-se/version.rb +1 -1
- data/spec/account_spec.rb +1 -1
- data/spec/bankgiro_spec.rb +1 -1
- data/spec/ocr_spec.rb +9 -7
- data/spec/plusgiro_spec.rb +1 -1
- data/spec/spec_helper.rb +1 -1
- metadata +9 -13
- data/.travis.yml +0 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: ae26d83c75f488a904bc1dcaffada866c129f7f923a4083ef4c2886c58c4d605
|
|
4
|
+
data.tar.gz: 1a52ea7948ea5d90c0df16501455015ff8c870f22f00b64ca7ccf64f050aba83
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4ea749b95887d14fce1fa99b3f34537f497706ea1670050014cf94064830b6e23a1db8c3a71caeaab0282a559879562ea4305d9507608f1ad01f04c0ffa859fc
|
|
7
|
+
data.tar.gz: 3aef88169d2c7be49fcfa7d88148db48db4a2ff2d9f8822cc9898ee03f9fad0cc0b4e7f9197ce0410f1021c3459172b8159d99d49269f20a0f06c98b882f8eb7
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
name: Ruby CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ master ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ master ]
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
test:
|
|
11
|
+
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
|
|
14
|
+
strategy:
|
|
15
|
+
matrix:
|
|
16
|
+
ruby-version: ["3.0", "2.7", "2.6", "2.5"]
|
|
17
|
+
|
|
18
|
+
steps:
|
|
19
|
+
- uses: actions/checkout@v2
|
|
20
|
+
- name: Set up Ruby ${{ matrix.ruby-version }}
|
|
21
|
+
uses: ruby/setup-ruby@ae9cb3b565e36682a2c6045e4f664388da4c73aa
|
|
22
|
+
with:
|
|
23
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
24
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
|
25
|
+
- name: Run tests
|
|
26
|
+
run: bundle exec rake
|
|
27
|
+
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 3.1.0
|
|
4
|
+
|
|
5
|
+
- Add more banks to the range in `BankTools::SE::Account::ClearingNumber`. See [#7]. Thanks, Milen Dimitrov!
|
|
6
|
+
|
|
7
|
+
## 3.0.1
|
|
8
|
+
|
|
9
|
+
- Fix deprecation error: "NOTE: Gem::Specification#rubyforge_project= is deprecated with no replacement. It will be removed on or after 2019-12-01."
|
|
10
|
+
|
|
11
|
+
## 3.0.0
|
|
12
|
+
|
|
13
|
+
- Change `BankTools::SE::OCR.find_all_in_string` default `max_length` from 19 to 18 to avoid out of range errors with Active Record.
|
|
14
|
+
|
|
15
|
+
## 2.6.3 and earlier
|
|
16
|
+
|
|
17
|
+
- Please see commit history.
|
|
18
|
+
|
|
19
|
+
[#7]: https://github.com/barsoom/banktools-se/pull/7
|
data/Gemfile
CHANGED
data/README.markdown
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Swedish bank tools
|
|
2
2
|
|
|
3
|
-
[](https://github.com/barsoom/banktools-se/actions/workflows/ci.yml)
|
|
4
4
|
|
|
5
5
|
Ruby gem to validate, normalize/prettify and to some extent interpret
|
|
6
6
|
|
|
@@ -17,87 +17,90 @@ Inspired by [iulianu/iban-tools](https://github.com/iulianu/iban-tools). Please
|
|
|
17
17
|
|
|
18
18
|
## Usage
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
```ruby
|
|
21
|
+
# Bankgiro
|
|
21
22
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
valid_account = BankTools::SE::Bankgiro.new(" 5402968 1 ")
|
|
24
|
+
valid_account.valid? # => true
|
|
25
|
+
valid_account.errors # => []
|
|
26
|
+
valid_account.normalize # => "5402-9681"
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
bad_account = BankTools::SE::Bankgiro.new(" 1X ")
|
|
29
|
+
bad_account.valid? # => false
|
|
30
|
+
bad_account.errors # => [ :too_short, :invalid_characters, :bad_checksum ]
|
|
31
|
+
bad_account.normalize # => " 1 "
|
|
31
32
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
# 90-konto
|
|
34
|
+
fundraising_account = BankTools::SE::Bankgiro.new("902-0033")
|
|
35
|
+
fundraising_account.fundraising? # => true
|
|
35
36
|
|
|
36
|
-
|
|
37
|
+
# OCR
|
|
37
38
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
BankTools::SE::OCR.from_number("123") # => "1230"
|
|
40
|
+
BankTools::SE::OCR.from_number("123", length_digit: true) # => "12351"
|
|
41
|
+
BankTools::SE::OCR.from_number("123", length_digit: true, pad: "0") # => "123067"
|
|
41
42
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
BankTools::SE::OCR.to_number("1230") # => "123"
|
|
44
|
+
BankTools::SE::OCR.to_number("123067", length_digit: true, pad: "0") # => "123"
|
|
45
|
+
BankTools::SE::OCR.to_number("1230", length_digit: true, pad: "0") # Raises exception because there's no length digit or padding.
|
|
45
46
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
47
|
+
# This feature is intended to try to find all OCR numbers in a noisy bank statement string.
|
|
48
|
+
# By design it may find too many numbers (e.g. valid substrings of other numbers), so you should check results against actual outstanding invoices.
|
|
49
|
+
# By default, it excludes OCRs shorter than 4 digits and longer than 18 digits, but this limit can be specified per below.
|
|
50
|
+
BankTools::SE::OCR.find_all_in_string("OCR1230 and ref4564 and 7890") # => [ "1230", "4564", … ]
|
|
51
|
+
BankTools::SE::OCR.find_all_in_string("1230 and 123067", length_digit: true, pad: "0") # => [ "123067" ]
|
|
52
|
+
BankTools::SE::OCR.find_all_in_string("00 and 18 and 1230", min_length: 2, max_length: 3) # => [ "00", "018", "18" ]
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
# Plusgiro
|
|
54
55
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
56
|
+
valid_account = BankTools::SE::Plusgiro.new("2865434")
|
|
57
|
+
valid_account.valid? # => true
|
|
58
|
+
valid_account.errors # => []
|
|
59
|
+
valid_account.normalize # => "28 65 53-4"
|
|
59
60
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
bad_account = BankTools::SE::Plusgiro.new(" 1X ")
|
|
62
|
+
bad_account.valid? # => false
|
|
63
|
+
bad_account.errors # => [ :too_short, :invalid_characters, :bad_checksum ]
|
|
64
|
+
bad_account.normalize # => " 1 "
|
|
64
65
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
# 90-konto
|
|
67
|
+
fundraising_account = BankTools::SE::Plusgiro.new("90 20 03-3")
|
|
68
|
+
fundraising_account.fundraising? # => true
|
|
68
69
|
|
|
69
70
|
|
|
70
|
-
|
|
71
|
+
# Bank account
|
|
71
72
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
valid_account = BankTools::SE::Account.new("11000000000")
|
|
74
|
+
valid_account.valid? # => true
|
|
75
|
+
valid_account.errors # => []
|
|
76
|
+
valid_account.normalize # => "1100-0000000"
|
|
77
|
+
valid_account.bank # => "Nordea"
|
|
78
|
+
valid_account.clearing_number # => "1100"
|
|
79
|
+
valid_account.serial_number # => "0000000"
|
|
79
80
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
bad_account = BankTools::SE::Account.new(" 0000-0000000X ")
|
|
82
|
+
bad_account.valid? # => false
|
|
83
|
+
bad_account.errors # => [ :invalid_characters, :unknown_clearing_number ]
|
|
84
|
+
bad_account.bank # => nil
|
|
85
|
+
bad_account.normalize # => " 0000-0000000X "
|
|
85
86
|
|
|
86
87
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
BankTools::SE::Errors::TOO_SHORT # => :too_short
|
|
90
|
-
BankTools::SE::Errors::TOO_LONG # => :too_long
|
|
91
|
-
BankTools::SE::Errors::INVALID_CHARACTERS # => :invalid_characters
|
|
92
|
-
BankTools::SE::Errors::BAD_CHECKSUM # => :bad_checksum
|
|
93
|
-
BankTools::SE::Errors::UNKNOWN_CLEARING_NUMBER # => :unknown_clearing_number
|
|
88
|
+
# Error codes
|
|
94
89
|
|
|
90
|
+
BankTools::SE::Errors::TOO_SHORT # => :too_short
|
|
91
|
+
BankTools::SE::Errors::TOO_LONG # => :too_long
|
|
92
|
+
BankTools::SE::Errors::INVALID_CHARACTERS # => :invalid_characters
|
|
93
|
+
BankTools::SE::Errors::BAD_CHECKSUM # => :bad_checksum
|
|
94
|
+
BankTools::SE::Errors::UNKNOWN_CLEARING_NUMBER # => :unknown_clearing_number
|
|
95
|
+
```
|
|
95
96
|
|
|
96
97
|
## Installation
|
|
97
98
|
|
|
98
99
|
Add this line to your application's Gemfile:
|
|
99
100
|
|
|
100
|
-
|
|
101
|
+
```ruby
|
|
102
|
+
gem 'banktools-se'
|
|
103
|
+
```
|
|
101
104
|
|
|
102
105
|
And then execute:
|
|
103
106
|
|
|
@@ -117,9 +120,9 @@ Possible improvements to make:
|
|
|
117
120
|
|
|
118
121
|
## Also see
|
|
119
122
|
|
|
120
|
-
* [BankTools::DE (German)](https://github.com/barsoom/banktools-de)
|
|
121
|
-
* [iban-tools](https://github.com/iulianu/iban-tools)
|
|
122
123
|
* [Bankgirocentral documentation](https://www.bankgirot.se/kundservice/handbocker/)
|
|
124
|
+
* [Our other BankTools](https://github.com/barsoom?q=banktools)
|
|
125
|
+
* [iban-tools](https://github.com/iulianu/iban-tools)
|
|
123
126
|
|
|
124
127
|
|
|
125
128
|
## Credits and license
|
data/Rakefile
CHANGED
data/banktools-se.gemspec
CHANGED
|
@@ -5,17 +5,15 @@ require "banktools-se/version"
|
|
|
5
5
|
Gem::Specification.new do |s|
|
|
6
6
|
s.name = "banktools-se"
|
|
7
7
|
s.version = BankTools::SE::VERSION
|
|
8
|
-
s.authors = ["Henrik Nyh"]
|
|
9
|
-
s.email = ["henrik@barsoom.se"]
|
|
8
|
+
s.authors = [ "Henrik Nyh" ]
|
|
9
|
+
s.email = [ "henrik@barsoom.se" ]
|
|
10
10
|
s.homepage = ""
|
|
11
11
|
s.summary = %q{Validate and normalize Swedish bank account numbers, plusgiro and bankgiro.}
|
|
12
12
|
|
|
13
|
-
s.rubyforge_project = "banktools-se"
|
|
14
|
-
|
|
15
13
|
s.files = `git ls-files`.split("\n")
|
|
16
14
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
17
|
-
s.
|
|
18
|
-
s.
|
|
15
|
+
s.require_paths = [ "lib" ]
|
|
16
|
+
s.metadata = { "rubygems_mfa_required" => "true" }
|
|
19
17
|
|
|
20
18
|
s.add_development_dependency "rake"
|
|
21
19
|
s.add_development_dependency "rspec"
|
|
@@ -11,11 +11,11 @@ module BankTools
|
|
|
11
11
|
2300..2399 => { name: "Ålandsbanken" },
|
|
12
12
|
2400..2499 => { name: "Danske Bank" },
|
|
13
13
|
3000..3299 => { name: "Nordea" },
|
|
14
|
-
3300..3300 => { name: "Nordea", serial_number_length: 10, luhn_for_serial: true },
|
|
14
|
+
3300..3300 => { name: "Nordea", serial_number_length: 10, luhn_for_serial: true }, # Personkonto.
|
|
15
15
|
3301..3399 => { name: "Nordea" },
|
|
16
16
|
3400..3409 => { name: "Länsförsäkringar Bank" },
|
|
17
17
|
3410..3781 => { name: "Nordea" },
|
|
18
|
-
3782..3782 => { name: "Nordea", serial_number_length: 10, luhn_for_serial: true },
|
|
18
|
+
3782..3782 => { name: "Nordea", serial_number_length: 10, luhn_for_serial: true }, # Personkonto.
|
|
19
19
|
3783..4999 => { name: "Nordea" },
|
|
20
20
|
5000..5999 => { name: "SEB" },
|
|
21
21
|
6000..6999 => { name: "Handelsbanken", serial_number_length: 8..9 },
|
|
@@ -45,6 +45,19 @@ module BankTools
|
|
|
45
45
|
9500..9549 => { name: "Nordea/Plusgirot", serial_number_length: 1..10 },
|
|
46
46
|
9550..9569 => { name: "Avanza Bank" },
|
|
47
47
|
9570..9579 => { name: "Sparbanken Syd", serial_number_length: 10, zerofill: true },
|
|
48
|
+
9630..9639 => { name: "Lån og Spar Bank Sverige" },
|
|
49
|
+
9640..9649 => { name: "Nordax Bank AB" },
|
|
50
|
+
9650..9659 => { name: "MedMera Bank" },
|
|
51
|
+
9660..9669 => { name: "Svea Bank" },
|
|
52
|
+
9670..9679 => { name: "JAK Medlemsbank" },
|
|
53
|
+
9680..9689 => { name: "Bluestep Finance" },
|
|
54
|
+
9690..9699 => { name: "Folkia" },
|
|
55
|
+
9700..9709 => { name: "Ekobanken" },
|
|
56
|
+
9720..9729 => { name: "Netfonds Bank (ub)" },
|
|
57
|
+
9750..9759 => { name: "Northmill Bank" },
|
|
58
|
+
9770..9779 => { name: "FTCS" },
|
|
59
|
+
9780..9789 => { name: "Klarna Bank" },
|
|
60
|
+
9955..9955 => { name: "Kommuninvest" },
|
|
48
61
|
9960..9969 => { name: "Nordea/Plusgirot", serial_number_length: 1..10 },
|
|
49
62
|
}
|
|
50
63
|
end
|
data/lib/banktools-se/account.rb
CHANGED
|
@@ -50,8 +50,8 @@ module BankTools
|
|
|
50
50
|
|
|
51
51
|
def clearing_number
|
|
52
52
|
[
|
|
53
|
-
digits[0,4],
|
|
54
|
-
checksum_for_clearing? ? digits[4,1] : nil
|
|
53
|
+
digits[0, 4],
|
|
54
|
+
checksum_for_clearing? ? digits[4, 1] : nil,
|
|
55
55
|
].compact.join("-")
|
|
56
56
|
end
|
|
57
57
|
|
|
@@ -72,7 +72,7 @@ module BankTools
|
|
|
72
72
|
end
|
|
73
73
|
|
|
74
74
|
def bank_data
|
|
75
|
-
number = digits[0,4].to_i
|
|
75
|
+
number = digits[0, 4].to_i
|
|
76
76
|
_, found_data = CLEARING_NUMBER_MAP.find { |interval, data| interval.include?(number) }
|
|
77
77
|
found_data || {}
|
|
78
78
|
end
|
|
@@ -90,7 +90,7 @@ module BankTools
|
|
|
90
90
|
Array(serial_number_length).last +
|
|
91
91
|
(checksum_for_clearing? ? 1 : 0)
|
|
92
92
|
else
|
|
93
|
-
1/0.0 # Infinity.
|
|
93
|
+
1 / 0.0 # Infinity.
|
|
94
94
|
end
|
|
95
95
|
end
|
|
96
96
|
|
|
@@ -107,7 +107,7 @@ module BankTools
|
|
|
107
107
|
end
|
|
108
108
|
|
|
109
109
|
def digits
|
|
110
|
-
number.to_s.gsub(/\D/,
|
|
110
|
+
number.to_s.gsub(/\D/, "")
|
|
111
111
|
end
|
|
112
112
|
|
|
113
113
|
def zerofill?
|
data/lib/banktools-se/ocr.rb
CHANGED
|
@@ -20,6 +20,7 @@ module BankTools
|
|
|
20
20
|
pad = pad.to_s
|
|
21
21
|
|
|
22
22
|
raise MustBeNumeric unless number.match(/\A\d+\z/)
|
|
23
|
+
|
|
23
24
|
# Padding isn't something BGC specifies, but we needed it to support a legacy scheme.
|
|
24
25
|
number += pad
|
|
25
26
|
# Adding 2: 1 length digit, 1 check digit.
|
|
@@ -64,8 +65,8 @@ module BankTools
|
|
|
64
65
|
ocr[0...-digits_to_chop]
|
|
65
66
|
end
|
|
66
67
|
|
|
67
|
-
# max_length is
|
|
68
|
-
def self.find_all_in_string(string, length_digit: false, pad: "", min_length: 4, max_length:
|
|
68
|
+
# max_length is 18, because the biggest allowed integer by default in a Postgres integer column ("bigint") is 19 digits long, as is the next (disallowed) number. Attempting some queries with longer OCRs may cause Ruby on Rails exceptions.
|
|
69
|
+
def self.find_all_in_string(string, length_digit: false, pad: "", min_length: 4, max_length: 18)
|
|
69
70
|
# First, treat the input as one long string of digits.
|
|
70
71
|
# E.g. "1234 and 5678" becomes "12345678".
|
|
71
72
|
|
|
@@ -88,7 +89,7 @@ module BankTools
|
|
|
88
89
|
|
|
89
90
|
# Get rid of any duplicates.
|
|
90
91
|
|
|
91
|
-
candidates.uniq
|
|
92
|
+
candidates = candidates.uniq
|
|
92
93
|
|
|
93
94
|
# Finally, limit these substrings to ones that are actually valid OCRs.
|
|
94
95
|
|
data/lib/banktools-se/version.rb
CHANGED
data/spec/account_spec.rb
CHANGED
|
@@ -17,7 +17,7 @@ describe BankTools::SE::Account do
|
|
|
17
17
|
|
|
18
18
|
it "should be false with errors" do
|
|
19
19
|
account = BankTools::SE::Account.new("foo")
|
|
20
|
-
allow(account).to receive(:errors).and_return([:error])
|
|
20
|
+
allow(account).to receive(:errors).and_return([ :error ])
|
|
21
21
|
expect(account).not_to be_valid
|
|
22
22
|
end
|
|
23
23
|
end
|
data/spec/bankgiro_spec.rb
CHANGED
|
@@ -15,7 +15,7 @@ describe BankTools::SE::Bankgiro do
|
|
|
15
15
|
|
|
16
16
|
it "should be false with errors" do
|
|
17
17
|
account = BankTools::SE::Bankgiro.new("foo")
|
|
18
|
-
allow(account).to receive(:errors).and_return([:error])
|
|
18
|
+
allow(account).to receive(:errors).and_return([ :error ])
|
|
19
19
|
expect(account).not_to be_valid
|
|
20
20
|
end
|
|
21
21
|
end
|
data/spec/ocr_spec.rb
CHANGED
|
@@ -121,15 +121,17 @@ describe BankTools::SE::OCR do
|
|
|
121
121
|
end
|
|
122
122
|
|
|
123
123
|
it "lets you configure the accepted OCR max_length" do
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
124
|
+
# Add a check digit to the input.
|
|
125
|
+
ocr_length_18 = BankTools::SE::OCR.from_number("12345678901234567")
|
|
126
|
+
ocr_length_19 = BankTools::SE::OCR.from_number("123456789012345678")
|
|
127
127
|
|
|
128
|
-
|
|
129
|
-
expect(BankTools::SE::OCR.find_all_in_string(string)).to include ocr_length_19
|
|
130
|
-
expect(BankTools::SE::OCR.find_all_in_string(string)).not_to include ocr_length_20
|
|
128
|
+
string = "#{ocr_length_18} #{ocr_length_19}"
|
|
131
129
|
|
|
132
|
-
|
|
130
|
+
# Default max_length is 18.
|
|
131
|
+
expect(BankTools::SE::OCR.find_all_in_string(string)).to include ocr_length_18
|
|
132
|
+
expect(BankTools::SE::OCR.find_all_in_string(string)).not_to include ocr_length_19
|
|
133
|
+
|
|
134
|
+
expect(BankTools::SE::OCR.find_all_in_string(string, max_length: 19)).to include ocr_length_18, ocr_length_19
|
|
133
135
|
end
|
|
134
136
|
|
|
135
137
|
it "excludes duplicates" do
|
data/spec/plusgiro_spec.rb
CHANGED
|
@@ -17,7 +17,7 @@ describe BankTools::SE::Plusgiro do
|
|
|
17
17
|
|
|
18
18
|
it "should be false with errors" do
|
|
19
19
|
account = BankTools::SE::Plusgiro.new("foo")
|
|
20
|
-
allow(account).to receive(:errors).and_return([:error])
|
|
20
|
+
allow(account).to receive(:errors).and_return([ :error ])
|
|
21
21
|
expect(account).not_to be_valid
|
|
22
22
|
end
|
|
23
23
|
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: banktools-se
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Henrik Nyh
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-11-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rake
|
|
@@ -73,8 +73,10 @@ executables: []
|
|
|
73
73
|
extensions: []
|
|
74
74
|
extra_rdoc_files: []
|
|
75
75
|
files:
|
|
76
|
+
- ".github/workflows/ci.yml"
|
|
76
77
|
- ".gitignore"
|
|
77
|
-
- ".
|
|
78
|
+
- ".rubocop.yml"
|
|
79
|
+
- CHANGELOG.md
|
|
78
80
|
- Gemfile
|
|
79
81
|
- README.markdown
|
|
80
82
|
- Rakefile
|
|
@@ -96,7 +98,8 @@ files:
|
|
|
96
98
|
- spec/utils_spec.rb
|
|
97
99
|
homepage: ''
|
|
98
100
|
licenses: []
|
|
99
|
-
metadata:
|
|
101
|
+
metadata:
|
|
102
|
+
rubygems_mfa_required: 'true'
|
|
100
103
|
post_install_message:
|
|
101
104
|
rdoc_options: []
|
|
102
105
|
require_paths:
|
|
@@ -112,15 +115,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
112
115
|
- !ruby/object:Gem::Version
|
|
113
116
|
version: '0'
|
|
114
117
|
requirements: []
|
|
115
|
-
|
|
116
|
-
rubygems_version: 2.5.1
|
|
118
|
+
rubygems_version: 3.2.28
|
|
117
119
|
signing_key:
|
|
118
120
|
specification_version: 4
|
|
119
121
|
summary: Validate and normalize Swedish bank account numbers, plusgiro and bankgiro.
|
|
120
|
-
test_files:
|
|
121
|
-
- spec/account_spec.rb
|
|
122
|
-
- spec/bankgiro_spec.rb
|
|
123
|
-
- spec/ocr_spec.rb
|
|
124
|
-
- spec/plusgiro_spec.rb
|
|
125
|
-
- spec/spec_helper.rb
|
|
126
|
-
- spec/utils_spec.rb
|
|
122
|
+
test_files: []
|
data/.travis.yml
DELETED