banks_registry 0.1.2 → 0.1.3

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
  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