ifsc 1.4.10 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Razorpay
2
4
  module IFSC
3
5
  module Bank
@@ -52,6 +54,7 @@ module Razorpay
52
54
  AMBX = :AMBX
53
55
  AMCB = :AMCB
54
56
  AMCX = :AMCX
57
+ AMDN = :AMDN
55
58
  AMMX = :AMMX
56
59
  AMNX = :AMNX
57
60
  AMRX = :AMRX
@@ -82,6 +85,7 @@ module Razorpay
82
85
  ASBX = :ASBX
83
86
  ASHX = :ASHX
84
87
  ASKX = :ASKX
88
+ ASNX = :ASNX
85
89
  ASOX = :ASOX
86
90
  ASSX = :ASSX
87
91
  AUBL = :AUBL
@@ -639,6 +643,7 @@ module Razorpay
639
643
  KTBX = :KTBX
640
644
  KTCX = :KTCX
641
645
  KTDX = :KTDX
646
+ KTTX = :KTTX
642
647
  KUBX = :KUBX
643
648
  KUCB = :KUCB
644
649
  KUCX = :KUCX
@@ -730,6 +735,7 @@ module Razorpay
730
735
  MHUX = :MHUX
731
736
  MIZX = :MIZX
732
737
  MJCX = :MJCX
738
+ MKPB = :MKPB
733
739
  MKUX = :MKUX
734
740
  MKYX = :MKYX
735
741
  MLDX = :MLDX
@@ -739,6 +745,7 @@ module Razorpay
739
745
  MNCX = :MNCX
740
746
  MNSX = :MNSX
741
747
  MOGX = :MOGX
748
+ MOUX = :MOUX
742
749
  MPCX = :MPCX
743
750
  MPDX = :MPDX
744
751
  MPRX = :MPRX
@@ -784,6 +791,7 @@ module Razorpay
784
791
  NBAD = :NBAD
785
792
  NBBX = :NBBX
786
793
  NBCX = :NBCX
794
+ NBMX = :NBMX
787
795
  NBRD = :NBRD
788
796
  NCBL = :NCBL
789
797
  NCBX = :NCBX
@@ -947,6 +955,7 @@ module Razorpay
947
955
  RBBX = :RBBX
948
956
  RBCX = :RBCX
949
957
  RBIS = :RBIS
958
+ RBIH = :RBIH
950
959
  RCBX = :RCBX
951
960
  RCCX = :RCCX
952
961
  RCDX = :RCDX
@@ -1264,6 +1273,8 @@ module Razorpay
1264
1273
  TSMX = :TSMX
1265
1274
  TSNX = :TSNX
1266
1275
  TSPX = :TSPX
1276
+ TSSB = :TSSB
1277
+ TSSX = :TSSX
1267
1278
  TSUX = :TSUX
1268
1279
  TTBX = :TTBX
1269
1280
  TTCB = :TTCB
@@ -1337,6 +1348,7 @@ module Razorpay
1337
1348
  VCBX = :VCBX
1338
1349
  VCCX = :VCCX
1339
1350
  VCNB = :VCNB
1351
+ VCOB = :VCOB
1340
1352
  VCOX = :VCOX
1341
1353
  VDCX = :VDCX
1342
1354
  VDYX = :VDYX
@@ -1413,6 +1425,23 @@ module Razorpay
1413
1425
  ZSKX = :ZSKX
1414
1426
  ZSLX = :ZSLX
1415
1427
  ZSMX = :ZSMX
1428
+
1429
+ class << self
1430
+ def get_details(code)
1431
+ h = data[code]
1432
+ h[:bank_code] = (h[:micr][3..5] if h.key? :micr)
1433
+ h
1434
+ end
1435
+
1436
+ def parse_json_file(file)
1437
+ file = "../#{file}.json"
1438
+ JSON.parse(File.read(File.join(__dir__, file)), symbolize_names: true)
1439
+ end
1440
+
1441
+ def data
1442
+ @data ||= parse_json_file 'banks'
1443
+ end
1444
+ end
1416
1445
  end
1417
1446
  end
1418
1447
  end
@@ -915,6 +915,7 @@
915
915
  "UTIB0SGUCB1": "GDUX",
916
916
  "UTIB0SHDCCB": "HSDX",
917
917
  "UTIB0SHSP01": "HOCX",
918
+ "UTIB0SICB25": "ILCB",
918
919
  "UTIB0SIDB99": "IDUX",
919
920
  "UTIB0SIPSB1": "ISBX",
920
921
  "UTIB0SIRS01": "SICX",
@@ -0,0 +1,32 @@
1
+ require 'ifsc'
2
+ require 'bank'
3
+
4
+ describe Razorpay::IFSC::Bank do
5
+ it 'should define the relevant constants' do
6
+ expect(described_class::PUNB).to eq :PUNB
7
+ end
8
+
9
+ it 'should return details from the bank code' do
10
+ expect(described_class.get_details(:PUNB)).to eq(code: 'PUNB',
11
+ type: 'PSB',
12
+ upi: true,
13
+ ifsc: 'PUNB0244200',
14
+ micr: '110024001',
15
+ bank_code: '024',
16
+ iin: '508568',
17
+ apbs: true,
18
+ ach_credit: true,
19
+ ach_debit: true,
20
+ nach_debit: true)
21
+ end
22
+
23
+ it 'should match all constants defined in PHP' do
24
+ constants_file = File.readlines('src/php/Bank.php')
25
+ bank_constants = constants_file.select { |e| e.match(/const/) }.map { |e| e[/\s+const (\w{4})/, 1] }
26
+
27
+ bank_constants.each do |c|
28
+ expect(described_class::const_get(c)).to eq c.to_sym
29
+ end
30
+ end
31
+
32
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'ifsc'
2
4
  require 'bank'
3
5
 
@@ -116,9 +118,3 @@ describe Razorpay::IFSC::IFSC do
116
118
  end
117
119
  end
118
120
  end
119
-
120
- describe Razorpay::IFSC::Bank do
121
- it 'should define the relevant constants' do
122
- expect(described_class::PUNB).to eq :PUNB
123
- end
124
- end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ifsc
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.10
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Abhay Rana
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-11-20 00:00:00.000000000 Z
12
+ date: 2020-01-27 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
@@ -73,6 +73,7 @@ files:
73
73
  - src/ruby/bank.rb
74
74
  - src/ruby/ifsc.rb
75
75
  - src/sublet.json
76
+ - tests/ruby/bank_spec.rb
76
77
  - tests/ruby/ifsc_spec.rb
77
78
  - tests/ruby/validate_spec.rb
78
79
  - tests/validator_asserts.json
@@ -100,6 +101,7 @@ signing_key:
100
101
  specification_version: 4
101
102
  summary: IFSC code database to help you validate IFSC codes
102
103
  test_files:
104
+ - tests/ruby/bank_spec.rb
103
105
  - tests/ruby/ifsc_spec.rb
104
106
  - tests/ruby/validate_spec.rb
105
107
  - tests/validator_asserts.json