rus_bank 0.9.2 → 0.9.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: a2e4b1b1b3a44dcf55f20c1254df58d31ece8b51
4
- data.tar.gz: 4222463c5f0e73c34d9eee2e5cda7dcefcc52d47
3
+ metadata.gz: 6c9026cfb216253a37a33cfc069e1a1efaf4f15c
4
+ data.tar.gz: eef376473f7cd04e43af493fde4d3b2fd0f04028
5
5
  SHA512:
6
- metadata.gz: a0bde6114b27a298950202d0989572f04ceb90181ccb1b362e120d9ae97ae997b7394770412ee8499f1150101b77150fed9dcedcf83d5b5a5e8cb83cf0c0b14d
7
- data.tar.gz: 7eb189c2bc9d62a780713ad059b1e37c56c6a1e968113f2fca577c3acb049c419a263be22d5ffc1998e70bb213af1461b5ff0c0b346315acd89c41c08314bd80
6
+ metadata.gz: ea3d9419ea6c3c3b4896437607d29ca204ad44f2773968e5c56eef085bcc90b344cb7e13d0390be33b539441ea8c6c245375fad51d9dc3daa80b3cb707448a9b
7
+ data.tar.gz: 2e715a8932508af962134f9b0fec7b485f5f5f44563c93564ab5076d7534638ef972e4bc1cb05b1ce7d34d93e4805cf03b0185983f21acde053c00d0559ed3ce
data/README.rdoc CHANGED
@@ -1,16 +1,38 @@
1
1
  = rus_bank
2
2
 
3
- Description goes here.
4
-
5
- == Contributing to rus_bank
6
-
7
- * Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
8
- * Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it.
9
- * Fork the project.
10
- * Start a feature/bugfix branch.
11
- * Commit and push until you are happy with your contribution.
12
- * Make sure to add tests for it. This is important so I don't break it in a future version unintentionally.
13
- * Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
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 = "some@wild-x.ru"
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.2
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.2"
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-01-29"
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 = "some@wild-x.ru"
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.2
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-01-29 00:00:00.000000000 Z
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: some@wild-x.ru
84
+ email: wilddalex@wild-x.ru
85
85
  executables: []
86
86
  extensions: []
87
87
  extra_rdoc_files: