rus_bank_rails 1.1.1 → 1.4.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -176,6 +176,58 @@ module RusBankRails
176
176
  cbr.RegionsEnum
177
177
  end
178
178
 
179
+ ##
180
+ # Метод возвращает банк по БИК
181
+ # == Parameters:
182
+ # bic::
183
+ # Банковский Идентификационный Код
184
+ # == Returns:
185
+ # Возвращает экземпляр класса <Bank> из базы или nil.
186
+
187
+ def search_by_bic(bic)
188
+ check_and_update(bic: bic)
189
+ end
190
+
191
+ ##
192
+ # Метод возвращает банк по регистрационному номеру ЦБ РФ
193
+ # == Parameters:
194
+ # reg_number::
195
+ # Регистрационный номер банка
196
+ # == Returns:
197
+ # Возвращает экземпляр класса <Bank> из базы или nil.
198
+
199
+ def search_by_reg_number(reg_number)
200
+ internal_code = reg_num_to_int_code(reg_number)
201
+ internal_code ? check_and_update(internal_code: internal_code) : nil
202
+ end
203
+
204
+ ##
205
+ # Метод возвращает банк по основному государственному регистрационному номеру(ОГРН)
206
+ # == Parameters:
207
+ # main_reg_number::
208
+ # Основной государственный регистрационный номер
209
+ # == Returns:
210
+ # Возвращает экземпляр класса <Bank> из базы или nil.
211
+
212
+ def search_by_main_reg_number(main_reg_number)
213
+ bank = Bank.find_by_main_reg_number(main_reg_number)
214
+ if bank
215
+ check_and_update(internal_code: bank.internal_code )
216
+ else # Единственный метод в API, из которого можно вытянуть банк по ОГРН
217
+ cbr = RusBank.new # является enum_bic, но локальный вариант метода обновляет ВСЕ полученные банки
218
+ all_banks = cbr.EnumBic # в базе, что лишнее для данного случая. Поэтому используем enum_bic из rus_bank.
219
+
220
+ if all_banks
221
+ all_banks.each do |b|
222
+ if b[:rb] == main_reg_number
223
+ return check_and_update(bic: b[:bic] )
224
+ end
225
+ end
226
+ return nil
227
+ end
228
+ end
229
+ end
230
+
179
231
  private
180
232
 
181
233
  ##
@@ -1,3 +1,3 @@
1
1
  module RusBankRails
2
- VERSION = "1.1.1"
2
+ VERSION = "1.4.1"
3
3
  end
Binary file