banks_registry 0.1.2 → 0.1.3

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
  SHA1:
3
- metadata.gz: 164ba83a74e09032ba5c81b72084a62091462765
4
- data.tar.gz: 10e1a4efdd129602b22606b906f81ecbb5e41c07
3
+ metadata.gz: b5b3596551da0c5be540d018d3f16816136a44c9
4
+ data.tar.gz: c0eca185134fdcd8641355b339ee3f69643e3016
5
5
  SHA512:
6
- metadata.gz: 5936c95357eb11d3fcd9e56230a6e9cfc77cac0e78f1d5e329f2cb515bc19d11f64067b0be4ac69a510062e474a13695e271d6522cda0cfc8914c29cc98e0ebf
7
- data.tar.gz: 3f5f971a4650ae6fa55cd35611f526b76db61d2622bc1c8f1149ea77a6b4d0a0933e691c97e7e5102b5569cd7b56b13437db0725c3de5c2004e508fa3f85cc51
6
+ metadata.gz: 91528f9245412be8730f3cd8f0a87b39a3ddadfe6c3d78ed799635d1432799a159756b55f0e6bd529eada130a8b60416eca9fdeb0d53257d42bad1ba051c5fd5
7
+ data.tar.gz: 5419e9bc78c900e29ea638ee934544810b0bce5764a5fc9997dce101b74ed1848c4bb89dc52123de5fb1cedecf4a774e4972109c665f3cabc8a2e20098f88f8a
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- banks_registry (0.1.2)
4
+ banks_registry (0.1.3)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -14,12 +14,23 @@ module BanksRegistry
14
14
 
15
15
  def call(code)
16
16
  return @cache[code] if @cache.key?(code)
17
+ return unless file_exists?(code)
17
18
 
18
19
  @cache[code] =
19
- YAML.load_file("#{BANKS_FOLDER}/#{code}.yml")[code].map do |bank|
20
+ YAML.load_file(filename(code))[code].map do |bank|
20
21
  Models::Bank.new(bank)
21
22
  end
22
23
  end
24
+
25
+ private
26
+
27
+ def file_exists?(code)
28
+ File.file?(filename(code))
29
+ end
30
+
31
+ def filename(code)
32
+ "#{BANKS_FOLDER}/#{code}.yml"
33
+ end
23
34
  end
24
35
  end
25
36
  end
@@ -14,14 +14,23 @@ module BanksRegistry
14
14
 
15
15
  def call(code)
16
16
  return @cache[code] if @cache.key?(code)
17
+ return unless file_exists?(code)
17
18
 
18
19
  @cache[code] = Models::Rule.new(load_rule_yml(code))
19
20
  end
20
21
 
21
22
  private
22
23
 
24
+ def file_exists?(code)
25
+ File.file?(filename(code))
26
+ end
27
+
28
+ def filename(code)
29
+ "#{RULES_FOLDER}/#{code}.yml"
30
+ end
31
+
23
32
  def load_rule_yml(code)
24
- YAML.load_file("#{RULES_FOLDER}/#{code}.yml")[code]
33
+ YAML.load_file(filename(code))[code]
25
34
  end
26
35
  end
27
36
  end
@@ -6,7 +6,7 @@ module BanksRegistry
6
6
  module Matchers
7
7
  class BicMatcher
8
8
  def call(bic)
9
- banks_loader.call(country_from_bic(bic)).find do |bank|
9
+ banks_loader.call(country_from_bic(bic))&.find do |bank|
10
10
  bank.bic == bic
11
11
  end
12
12
  end
@@ -39,11 +39,12 @@ module BanksRegistry
39
39
  end
40
40
 
41
41
  def bank_code_regexp(iban)
42
- rule_converter.call(iban_rule(country_from_iban(iban)))
42
+ rule = iban_rule(country_from_iban(iban))
43
+ rule_converter.call(rule) if rule
43
44
  end
44
45
 
45
46
  def iban_rule(code)
46
- rules_loader.call(code).iban
47
+ rules_loader.call(code)&.iban
47
48
  end
48
49
 
49
50
  def rule_converter
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BanksRegistry
4
- VERSION = '0.1.2'
4
+ VERSION = '0.1.3'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: banks_registry
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Advanon team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-12-20 00:00:00.000000000 Z
11
+ date: 2018-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler