ifsc 1.6.0 → 2.0.2

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
  SHA256:
3
- metadata.gz: 7b3efbb711003fb7d270a100a723cf2ff2c3e004ab84b26df2f5ab2fc72aff7e
4
- data.tar.gz: ca4179ed63075d63ed09b3f3be7d255b1567d80a17ac4e3fd9e35ee59b1b5253
3
+ metadata.gz: 551ba69b5c3bb77d97604e90b16c7c1cbcb34a2c54678c2d56427d31ac8c6501
4
+ data.tar.gz: aba3bd2ad855a5d39822ba22d8910413ed31bffeaa6d8f22ff7b5c346601275e
5
5
  SHA512:
6
- metadata.gz: ddb63cf58c27b5dc17739fd838d67e03f6811427676edd674fc27e8d17d8ca3aec22e4059978fa79d4e53196c4140e34e7086cbc485c362cf9c6bc3925cd708e
7
- data.tar.gz: b92bc496c605f1a1ee9e9a7808507ae0f84ed5b31c2b702446e36668405555d0f23bbb077695f2ae300146649200657ff663a8b8ce02ade6c0aeb1284576e57a
6
+ metadata.gz: 29ee2e3f08a350d3386217978b435482f546a510ed7a958d55e4a6d568ad32fc26e1073e0b677b4b5b1a571693b59c9fd69bbd8f451a067fa9893ab7fef1da22
7
+ data.tar.gz: 79bb5faef4d535acb5c8babb18ef2df66636da31d1dd08db1bdfc25d3380035fe437f6849a7ebf4b6477a80fe634b6e1064650b623bf67832f1de50872791ca6
data/CHANGELOG.md CHANGED
@@ -5,6 +5,29 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5
5
 
6
6
  ## [UNRELEASED][unreleased]
7
7
 
8
+ ## [2.0.2][2.0.2]
9
+ ## Changed
10
+ - Metadata changes
11
+
12
+ ## [2.0.1][2.0.1]
13
+ ## Changed
14
+ - Metadata changes
15
+
16
+ ## [2.0.0][2.0.0]
17
+ ### Removed
18
+ - Removed support for Elixir package
19
+ ### Changed
20
+ - Builds are now powered by GitHub Actions, instead of Wercker
21
+ ### Added
22
+ - There is a supported golang SDK. See the README for instructions on how to use it.
23
+ - 1 New Bank: `"AHDC": "Ahmednagar District Central Co-operative Bank"`
24
+
25
+ ## [1.6.1][1.6.1]
26
+ ### Added
27
+ - Only metadata changes in this release.
28
+ - 2 new banks
29
+ - RDCB: Rajnandgaon District Central Co Operative Bank
30
+ - TMSB: The Malad Sahakari Bank Ltd
8
31
  ## [1.6.0][1.6.0]
9
32
  - Support PHP8
10
33
  - Fix for some invalid IFSCs being marked as valid. Ex: `PUNB0000000` (#229)
@@ -204,8 +227,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
204
227
 
205
228
  - Removes some data formats (YAML/Large JSON) for cleaner code. If you were using them, please let create an issue.
206
229
 
207
- [unreleased]: https://github.com/razorpay/ifsc/compare/1.6.0...HEAD
208
- [1.6.0]: https://github.com/razorpay/ifsc/releases/tag/1.6.0
230
+ [unreleased]: https://github.com/razorpay/ifsc/compare/2.0.2...HEAD
231
+ [2.0.2]: https://github.com/razorpay/ifsc/releases/tag/2.0.2
232
+ [2.0.1]: https://github.com/razorpay/ifsc/releases/tag/2.0.1
233
+ [2.0.0]: https://github.com/razorpay/ifsc/releases/tag/2.0.0
234
+ [1.6.1]: https://github.com/razorpay/ifsc/releases/tag/1.6.1
209
235
  [1.5.13]: https://github.com/razorpay/ifsc/releases/tag/1.5.13
210
236
  [1.5.12]: https://github.com/razorpay/ifsc/releases/tag/1.5.12
211
237
  [1.5.11]: https://github.com/razorpay/ifsc/releases/tag/1.5.11
data/README.md CHANGED
@@ -4,18 +4,15 @@ This is part of the IFSC toolset released by Razorpay.
4
4
  You can find more details about the entire release at
5
5
  [ifsc.razorpay.com](https://ifsc.razorpay.com).
6
6
 
7
- [![wercker status](https://app.wercker.com/status/bc9b22047e1b8eb55ce98ba451d7b504/s/master 'wercker status')](https://app.wercker.com/project/byKey/bc9b22047e1b8eb55ce98ba451d7b504) [![](https://images.microbadger.com/badges/image/razorpay/ifsc:1.6.0.svg)](https://microbadger.com/images/razorpay/ifsc:1.6.0) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
7
+ [![](https://images.microbadger.com/badges/image/razorpay/ifsc:2.0.2.svg)](https://microbadger.com/images/razorpay/ifsc:2.0.2) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com)
8
8
 
9
- [![](https://images.microbadger.com/badges/version/razorpay/ifsc:1.6.0.svg)](https://microbadger.com/images/razorpay/ifsc:1.6.0) [![npm version](https://badge.fury.io/js/ifsc.svg)](https://badge.fury.io/js/ifsc) [![Gem Version](https://badge.fury.io/rb/ifsc.svg)](https://badge.fury.io/rb/ifsc) [![PHP version](https://badge.fury.io/ph/razorpay%2Fifsc.svg)](https://badge.fury.io/ph/razorpay%2Fifsc) [![Hex pm](http://img.shields.io/hexpm/v/ifsc.svg)](https://hex.pm/packages/ifsc)
9
+ [![](https://images.microbadger.com/badges/version/razorpay/ifsc:2.0.2.svg)](https://microbadger.com/images/razorpay/ifsc:2.0.2) [![npm version](https://badge.fury.io/js/ifsc.svg)](https://badge.fury.io/js/ifsc) [![Gem Version](https://badge.fury.io/rb/ifsc.svg)](https://badge.fury.io/rb/ifsc) [![PHP version](https://badge.fury.io/ph/razorpay%2Fifsc.svg)](https://badge.fury.io/ph/razorpay%2Fifsc) [![Hex pm](http://img.shields.io/hexpm/v/ifsc.svg)](https://hex.pm/packages/ifsc)
10
10
 
11
11
  ## Dataset
12
12
 
13
- If you are just looking for the dataset, go to
14
- the [releases][releases] section and download
15
- the latest release.
13
+ If you are just looking for the dataset, go to the [releases][releases] section and download the latest release.
16
14
 
17
- The latest [`build` pipeline][buildlist] on Wercker should result in a container
18
- with the complete dataset as well.
15
+ The latest `scraper` workflow on GitHub should publish a `release-artifact` as well.
19
16
 
20
17
  ### Source
21
18
 
@@ -79,12 +76,30 @@ require "ifsc"
79
76
 
80
77
  The PHP package has a dependency on the virtual package `php-http/client-implementation` which requires you to install an adapter, but we do not care which one. That is an implementation detail in your application. You do not have to use the `php-http/curl-client` if you do not want to. You may use the `php-http/guzzle6-adapter`. Read more about the virtual packages, why this is a good idea and about the flexibility it brings at the [HTTPlug docs](http://docs.php-http.org/en/latest/httplug/users.html). You can find a list of suported providers on [packagist](https://packagist.org/providers/php-http/client-implementation).
81
78
 
82
- The minimum [PHP version supported is 7.2](https://endoflife.date/php).
79
+ The minimum [PHP version supported is 7.3](https://endoflife.date/php). The package can be installed on PHP>=7.1 however.
83
80
 
84
81
  ## Node.js
85
82
 
86
83
  `$ npm install ifsc`
87
84
 
85
+ ## Go
86
+
87
+ This package is compatible with modern Go releases in module mode, with Go installed:
88
+
89
+ `go get github.com/razorpay/ifsc/v2`
90
+
91
+ will resolve and add the package to the current development module, along with its dependencies.
92
+
93
+ Alternatively the same can be achieved if you use import in a package:
94
+
95
+ `import "github.com/razorpay/ifsc/v2/src/go"`
96
+
97
+ and run go get without parameters.
98
+
99
+ Finally, to use the top-of-trunk version of this repo, use the following command:
100
+
101
+ `go get github.com/razorpay/ifsc/v2@master`
102
+
88
103
  ## Support Matrix
89
104
 
90
105
  Only the latest version of each SDK is considered.
@@ -93,12 +108,12 @@ Only the latest version of each SDK is considered.
93
108
  | -------- | ---------- | ---------- | ----------------------- | -------------- |
94
109
  | PHP | ✅ | ✅ | ✅ (✅) | ✅ |
95
110
  | Ruby | ✅ | ✅ | ✅ (✅) | ✅ |
96
- | Elixir | ✅ | ✅ | ✅ (❎) | ❎ |
97
111
  | Node.js | ✅ | ✅ | ❎ (❎) | ✅ |
112
+ | Go | ✅ | ✅ | ✅ (✅) | ✅ |
98
113
 
99
114
  ## API Documentation
100
115
 
101
- This repository also hosts the source code for 3 modules: PHP/Node.js/Ruby as of now.
116
+ This repository also hosts the source code for 5 modules: PHP/Node.js/Ruby/Go as of now.
102
117
  The API is documented below:
103
118
 
104
119
  ### PHP
@@ -281,58 +296,69 @@ Razorpay::IFSC::IFSC.find '...'
281
296
  code = Razorpay::IFSC::IFSC.new '...'; code.get
282
297
  ```
283
298
 
284
- ### Elixir
285
-
286
- Documentation: [https://hexdocs.pm/ifsc](https://hexdocs.pm/ifsc)
287
-
288
- Online validation
289
-
290
- ```elixir
291
- iex> IFSC.get("KKBK0000261")
292
- {:ok,
293
- %Razorpay.IFSC{
294
- address: "JMD REGENT SQUARE,MEHRAULI GURGAON ROAD,OPPOSITE BRISTOL HOTEL,",
295
- bank: "Kotak Mahindra Bank",
296
- bank_code: "KKBK",
297
- branch: "GURGAON",
298
- city: "GURGAON",
299
- contact: "4131000",
300
- district: "GURGAON",
301
- ifsc: "KKBK0000261",
302
- rtgs: true,
303
- state: "HARYANA"
304
- }}
305
-
306
- iex> IFSC.get("foobar")
307
- {:error, :invalid_ifsc}
308
- ```
299
+ ### Go
300
+
301
+ ```go
302
+ package main
303
+
304
+ import (
305
+ ifsc "github.com/razorpay/ifsc/src/go"
306
+ )
307
+
308
+ // todo: change funcs not required to lower case.
309
+
310
+ func main() {
311
+
312
+ ifsc.Validate("KKBK0000261") // Returns true
313
+ ifsc.Validate("BOTM0XEEMRA") // Returns false
314
+
315
+ ifsc.ValidateBankCode("PUNB") // Returns true
316
+ ifsc.ValidateBankCode("ABCD") // Returns false
317
+
318
+ ifsc.GetBankName("PUNB") // Returns "Punjab National Bank", nil
319
+ ifsc.GetBankName("ABCD") // Returns "", errors.New(invalid bank code)
320
+ ifsc.GetBankName(ifsc.HDFC) // Returns "HDFC Bank", nil
321
+
322
+
323
+ ifsc.GetBankDetails("PUNB")
324
+ // or
325
+ ifsc.GetBankDetails(ifsc.PUNB)
326
+
327
+ /* Returns
328
+ (*ifsc.Bank){
329
+ Name : "Punjab National Bank",
330
+ BankCode : "024",
331
+ Code : "PUNB",
332
+ Type : "PSB",
333
+ IFSC : "PUNB0244200",
334
+ MICR : "110024001",
335
+ IIN : "508568",
336
+ APBS : true,
337
+ AchCredit : true,
338
+ AchDebit : true,
339
+ NachDebit : true,
340
+ Upi : true
341
+ }), nil
342
+ */
343
+
344
+ ifsc.LookUP("KKBK0000261")
345
+
346
+ /*
347
+ Returns
348
+ (*ifsc.IFSCResponse)({
349
+ Bank : "Kotak Mahindra Bank",
350
+ Branch : "GURGAON",
351
+ Address : "JMD REGENT SQUARE,MEHRAULI GURGAON ROAD,OPPOSITE BRISTOL HOTEL,",
352
+ Contact : "4131000",
353
+ City : "GURGAON",
354
+ District : "GURGAON",
355
+ State : "HARYANA",
356
+ IFSC : "KKBK0000261",
357
+ BankCode : "KKBK"
358
+ }), nil
359
+ */
360
+ }
309
361
 
310
- Offline validation
311
-
312
- ```elixir
313
- iex> IFSC.validate("KKBK0000261")
314
- {:ok,
315
- %Razorpay.IFSC{
316
- address: nil,
317
- bank: "Kotak Mahindra Bank",
318
- bank_code: "KKBK",
319
- branch: nil,
320
- city: nil,
321
- contact: nil,
322
- district: nil,
323
- ifsc: "KKBK0000261",
324
- rtgs: nil,
325
- state: nil
326
- }}
327
-
328
- iex> IFSC.validate("foobar")
329
- {:error, :invalid_format}
330
-
331
- iex> IFSC.validate("AAAA0000000")
332
- {:error, :invalid_bank_code}
333
-
334
- iex(> IFSC.validate("HDFC0000000")
335
- {:error, :invalid_branch_code}
336
362
  ```
337
363
 
338
364
  ### Code Notes
@@ -358,6 +384,5 @@ is under public domain.
358
384
 
359
385
  [combined]: https://rbidocs.rbi.org.in/rdocs/content/docs/68774.xlsx
360
386
  [releases]: https://github.com/razorpay/ifsc/releases
361
- [buildlist]: https://app.wercker.com/razorpay/ifsc/runs?view=runs&q=pipeline%3Abuild
362
387
  [rtgs]: https://rbidocs.rbi.org.in/rdocs/RTGS/DOCs/RTGEB0815.xlsx
363
388
  [ach]: https://www.npci.org.in/what-we-do/nach/live-members/live-banks
data/ifsc.gemspec CHANGED
@@ -3,8 +3,8 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = 'ifsc'
6
- s.version = '1.6.0'
7
- s.date = '2021-07-09'
6
+ s.version = '2.0.2'
7
+ s.date = '2021-11-16'
8
8
  s.summary = 'IFSC code database to help you validate IFSC codes'
9
9
  s.description = 'A simple gem by @razorpay to help you validate your IFSC codes. IFSC codes are bank codes within India'
10
10
  s.authors = ['Abhay Rana', 'Nihal Gonsalves']