rus_bank 0.9.2 → 0.9.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 +4 -4
- data/README.rdoc +33 -11
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/lib/rus_bank.rb +39 -0
- data/rus_bank.gemspec +3 -3
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6c9026cfb216253a37a33cfc069e1a1efaf4f15c
|
4
|
+
data.tar.gz: eef376473f7cd04e43af493fde4d3b2fd0f04028
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea3d9419ea6c3c3b4896437607d29ca204ad44f2773968e5c56eef085bcc90b344cb7e13d0390be33b539441ea8c6c245375fad51d9dc3daa80b3cb707448a9b
|
7
|
+
data.tar.gz: 2e715a8932508af962134f9b0fec7b485f5f5f44563c93564ab5076d7534638ef972e4bc1cb05b1ce7d34d93e4805cf03b0185983f21acde053c00d0559ed3ce
|
data/README.rdoc
CHANGED
@@ -1,16 +1,38 @@
|
|
1
1
|
= rus_bank
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
3
|
+
Руби-интерфейс к API Банка России.
|
4
|
+
|
5
|
+
Установка
|
6
|
+
```
|
7
|
+
$ gem install rus_bank
|
8
|
+
```
|
9
|
+
Либо добавить в gemfile
|
10
|
+
```
|
11
|
+
gem 'rus_bank'
|
12
|
+
```
|
13
|
+
|
14
|
+
Пример использования
|
15
|
+
```
|
16
|
+
require 'rus_bank'
|
17
|
+
|
18
|
+
bank = RusBank.new
|
19
|
+
bank.BicToIntCode(:your_bic)
|
20
|
+
```
|
21
|
+
Описание доступных методов тут - http://rubydoc.info/gems/rus_bank/RusBank
|
22
|
+
Можно вызывать не реализованные в геме методы
|
23
|
+
```
|
24
|
+
require 'rus_bank'
|
25
|
+
|
26
|
+
bank = RusBank.new
|
27
|
+
bank.operations # Список доступных для вызова методов, включая не реализованные и те, что могут появиться на момент вызова.
|
28
|
+
bank.call(:method, :params) # где :method - нужный метод, :params - хеш передаваемых методу параметров.
|
29
|
+
```
|
30
|
+
|
31
|
+
Надо сказать, что при каждом вызове метода гема 'дергается' внешний сервис. Это не лучший подход с точки зрения производительности,
|
32
|
+
траффика и вообще ЦБ просит так не поступать. Было бы логичным иметь локальную базу для кеширования получаемой информации и
|
33
|
+
обращаться к внешнему сервису только по мере необходимости.
|
34
|
+
Гем, реализующий данную функцию для Rails - https://github.com/wildDAlex/rus_bank_rails
|
35
|
+
|
14
36
|
|
15
37
|
== Copyright
|
16
38
|
|
data/Rakefile
CHANGED
@@ -19,7 +19,7 @@ Jeweler::Tasks.new do |gem|
|
|
19
19
|
gem.license = "MIT"
|
20
20
|
gem.summary = "Ruby-интерфейс для получения информации по российским банкам"
|
21
21
|
gem.description = "Набор ruby-методов для работы с сервисами ЦБ РФ"
|
22
|
-
gem.email = "
|
22
|
+
gem.email = "wilddalex@wild-x.ru"
|
23
23
|
gem.authors = ["wilDAlex"]
|
24
24
|
# dependencies defined in Gemfile
|
25
25
|
end
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.3
|
data/lib/rus_bank.rb
CHANGED
@@ -6,64 +6,100 @@ class RusBank
|
|
6
6
|
@client = Savon.client(wsdl: "http://www.cbr.ru/CreditInfoWebServ/CreditOrgInfo.asmx?WSDL")
|
7
7
|
end
|
8
8
|
|
9
|
+
##
|
10
|
+
# Возвращает полный список доступных для метода call методов
|
11
|
+
|
9
12
|
def operations
|
10
13
|
@client.operations
|
11
14
|
end
|
12
15
|
|
16
|
+
##
|
17
|
+
# Возвращает внутренний код банка по БИК
|
18
|
+
|
13
19
|
def BicToIntCode(bic)
|
14
20
|
params = { "BicCode" => bic }
|
15
21
|
call(:bic_to_int_code, params)
|
16
22
|
end
|
17
23
|
|
24
|
+
##
|
25
|
+
# Возвращает регистрационный номер банка по БИК
|
26
|
+
|
18
27
|
def BicToRegNumber(bic)
|
19
28
|
params = { "BicCode" => bic }
|
20
29
|
call(:bic_to_reg_number, params)
|
21
30
|
end
|
22
31
|
|
32
|
+
##
|
33
|
+
# Возвращает внутренний код банка по регистрационному номеру
|
34
|
+
|
23
35
|
def RegNumToIntCode(reg_num)
|
24
36
|
params = { "RegNumber" => reg_num }
|
25
37
|
call(:reg_num_to_int_code, params)
|
26
38
|
end
|
27
39
|
|
40
|
+
##
|
41
|
+
# Возвращает регистрационный номер по внутреннему номеру
|
42
|
+
|
28
43
|
def IntCodeToRegNum(int_code)
|
29
44
|
params = { "IntNumber" => int_code }
|
30
45
|
call(:int_code_to_reg_num, params)
|
31
46
|
end
|
32
47
|
|
48
|
+
##
|
49
|
+
# Список банков по коду региона
|
50
|
+
|
33
51
|
def SearchByRegionCode(region_code)
|
34
52
|
params = { "RegCode" => region_code }
|
35
53
|
response = call(:search_by_region_code_xml, params)
|
36
54
|
get_array(response, :credit_org, :enum_credits)
|
37
55
|
end
|
38
56
|
|
57
|
+
##
|
58
|
+
# Поиск по названию банка
|
59
|
+
|
39
60
|
def SearchByName(bank_name) # Метод возвращает nil, либо массив хэшей
|
40
61
|
params = { "NamePart" => bank_name }
|
41
62
|
response = call(:search_by_name_xml, params)
|
42
63
|
get_array(response, :credit_org, :enum_credits)
|
43
64
|
end
|
44
65
|
|
66
|
+
##
|
67
|
+
# Возвращает список отделений по внутреннему номеру банка
|
68
|
+
|
45
69
|
def GetOffices(int_code)
|
46
70
|
params = { "IntCode" => int_code }
|
47
71
|
response = call(:get_offices_xml, params)
|
48
72
|
get_array(response, :co_offices, :offices)
|
49
73
|
end
|
50
74
|
|
75
|
+
##
|
76
|
+
# Список филиалов в указанном регионе
|
77
|
+
|
51
78
|
def GetOfficesByRegion(region_code)
|
52
79
|
params = { "RegCode" => region_code }
|
53
80
|
response = call(:get_offices_by_region_xml, params)
|
54
81
|
get_array(response, :co_offices, :offices)
|
55
82
|
end
|
56
83
|
|
84
|
+
##
|
85
|
+
# Полный список банков
|
86
|
+
|
57
87
|
def EnumBic
|
58
88
|
response = call(:enum_bic_xml)
|
59
89
|
get_array(response, :enum_bic, :bic)
|
60
90
|
end
|
61
91
|
|
92
|
+
##
|
93
|
+
# Список регионов
|
94
|
+
|
62
95
|
def RegionsEnum
|
63
96
|
response = call(:regions_enum_xml)
|
64
97
|
get_array(response, :regions_enum, :rgid)
|
65
98
|
end
|
66
99
|
|
100
|
+
##
|
101
|
+
# Информация по кредитной организации по внутреннему номеру
|
102
|
+
|
67
103
|
def CreditInfoByIntCode(internal_code)
|
68
104
|
params = { "InternalCode" => internal_code }
|
69
105
|
response = call(:credit_info_by_int_code_xml, params)
|
@@ -74,6 +110,9 @@ class RusBank
|
|
74
110
|
end
|
75
111
|
end
|
76
112
|
|
113
|
+
##
|
114
|
+
# Метод позволяет вручную вызывать нужные soap-сервисы.
|
115
|
+
|
77
116
|
def call(method, params = nil)
|
78
117
|
response = @client.call(method, message: params).to_hash[(method.to_s + "_response").to_sym][(method.to_s + "_result").to_sym]
|
79
118
|
if response == "-1" or response.to_s.include?("NotFound") # Разные методы сервиса возвращают ответ в разном формате
|
data/rus_bank.gemspec
CHANGED
@@ -5,13 +5,13 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "rus_bank"
|
8
|
-
s.version = "0.9.
|
8
|
+
s.version = "0.9.3"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["wilDAlex"]
|
12
|
-
s.date = "2014-
|
12
|
+
s.date = "2014-02-02"
|
13
13
|
s.description = "\u{41d}\u{430}\u{431}\u{43e}\u{440} ruby-\u{43c}\u{435}\u{442}\u{43e}\u{434}\u{43e}\u{432} \u{434}\u{43b}\u{44f} \u{440}\u{430}\u{431}\u{43e}\u{442}\u{44b} \u{441} \u{441}\u{435}\u{440}\u{432}\u{438}\u{441}\u{430}\u{43c}\u{438} \u{426}\u{411} \u{420}\u{424}"
|
14
|
-
s.email = "
|
14
|
+
s.email = "wilddalex@wild-x.ru"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.txt",
|
17
17
|
"README.rdoc"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rus_bank
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- wilDAlex
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-02-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: savon
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: 1.8.7
|
83
83
|
description: Набор ruby-методов для работы с сервисами ЦБ РФ
|
84
|
-
email:
|
84
|
+
email: wilddalex@wild-x.ru
|
85
85
|
executables: []
|
86
86
|
extensions: []
|
87
87
|
extra_rdoc_files:
|