rus_bank 0.6.0 → 0.7.0
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 +4 -4
- data/VERSION +1 -1
- data/lib/rus_bank.rb +24 -0
- data/rus_bank.gemspec +1 -1
- data/test/test_rus_bank.rb +14 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 051a9c51a7ac2666d39d4a7f9988c40dc5578385
|
4
|
+
data.tar.gz: 1ab9c9f0eef089704fe62818d45b036934b4e163
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f5bbfc4dc442b293e096d7c9dcfd7098db3c91e5df28f7959d4eca82dc0e292c364e15749ee42115032bfa1037fe19761fd77987167e40ed6e274564312aab87
|
7
|
+
data.tar.gz: 4a18725ed9a9d25d2e35f951a091f910323f7ddb0565de5efd46d908658713576db4cb512e12452420f59e254d6b4d3b72ec5080fa4aae0134bf208d26711373
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.7.0
|
data/lib/rus_bank.rb
CHANGED
@@ -30,6 +30,30 @@ class RusBank
|
|
30
30
|
call(:int_code_to_reg_num, params)
|
31
31
|
end
|
32
32
|
|
33
|
+
def SearchByRegionCodeXML(region_code)
|
34
|
+
params = { "RegCode" => region_code }
|
35
|
+
response = call(:search_by_region_code_xml, params)
|
36
|
+
if response.nil?
|
37
|
+
nil
|
38
|
+
else
|
39
|
+
response[:credit_org][:enum_credits]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def SearchByNameXML(bank_name) # Метод возвращает nil, либо массив хэшей
|
44
|
+
params = { "NamePart" => bank_name }
|
45
|
+
response = call(:search_by_name_xml, params)
|
46
|
+
if response[:credit_org][:enum_credits].nil?
|
47
|
+
nil
|
48
|
+
else
|
49
|
+
if not response[:credit_org][:enum_credits].instance_of?(Array) # Если найдена одна запись, возвращается единичный хэш,
|
50
|
+
[response[:credit_org][:enum_credits]] # если более одной, то массив хешей,
|
51
|
+
else # поэтому одну запись преобразуем к массиву из одного хэша.
|
52
|
+
response[:credit_org][:enum_credits]
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
33
57
|
def EnumBicXML
|
34
58
|
response = call(:enum_bic_xml)
|
35
59
|
if response.nil?
|
data/rus_bank.gemspec
CHANGED
data/test/test_rus_bank.rb
CHANGED
@@ -14,6 +14,9 @@ class TestRusBank < Test::Unit::TestCase
|
|
14
14
|
INVALID_INT_CODE = "450000650999999"
|
15
15
|
VALID_REG_NUMBER = "316"
|
16
16
|
INVALID_REG_NUMBER = "289375237580009"
|
17
|
+
VALID_REGION = "16"
|
18
|
+
INVALID_REGION = "999"
|
19
|
+
INVALID_ORG_NAME = "djhgsjdlksl"
|
17
20
|
VALID_ORG_NAME = "ХКФ БАНК"
|
18
21
|
end
|
19
22
|
|
@@ -54,6 +57,17 @@ class TestRusBank < Test::Unit::TestCase
|
|
54
57
|
assert(@cbr.RegionsEnumXML.length > 70, "This should return more than 70 elements")
|
55
58
|
end
|
56
59
|
|
60
|
+
should ":search_by_region_code_xml returns array of elements" do
|
61
|
+
assert(@cbr.SearchByRegionCodeXML(VALID_REGION).instance_of?(Array), "This should be array")
|
62
|
+
assert(@cbr.SearchByRegionCodeXML(VALID_REGION).length > 10, "This should return more than 10 banks")
|
63
|
+
assert_equal(nil, @cbr.SearchByRegionCodeXML(INVALID_REGION), "Should return nil if value not found")
|
64
|
+
end
|
65
|
+
|
66
|
+
should ":search_by_name_xml return correct value" do
|
67
|
+
assert(@cbr.SearchByNameXML(VALID_ORG_NAME).instance_of?(Array), "This should be array")
|
68
|
+
assert_equal(VALID_ORG_NAME, @cbr.SearchByNameXML(VALID_ORG_NAME).first[:org_name])
|
69
|
+
assert_equal(nil, @cbr.SearchByNameXML(INVALID_ORG_NAME), "Should return nil if value not found")
|
70
|
+
end
|
57
71
|
|
58
72
|
should ":credit_info_by_int_code_xml return correct bank" do
|
59
73
|
assert_equal(VALID_REG_NUMBER, @cbr.CreditInfoByIntCodeXML(VALID_INT_CODE)[:reg_number])
|