ifsc 1.4.10 → 1.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +29 -14
- data/README.md +29 -7
- data/ifsc.gemspec +2 -2
- data/src/IFSC.json +1 -1
- data/src/banknames.json +5 -4
- data/src/banks.json +284 -172
- data/src/ruby/bank.rb +29 -0
- data/src/sublet.json +1 -0
- data/tests/ruby/bank_spec.rb +32 -0
- data/tests/ruby/ifsc_spec.rb +2 -6
- metadata +4 -2
data/src/ruby/bank.rb
CHANGED
@@ -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
|
data/src/sublet.json
CHANGED
@@ -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
|
data/tests/ruby/ifsc_spec.rb
CHANGED
@@ -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
|
+
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:
|
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
|