Rough guidelines:
- Please ensure that the build passes.
- Packages in other languages are welcome.
The banknames.json
file is committed to the repo
and is used to maintain a list of human-readable
bank names in India. If you are touching that
file, here are a few guidelines:
- Do not include
ltd
,Ltd
at the end. - Ensure that the case is consistent with the official name.
- Do not prefix the bank name with "The".
- The canonical way to spell Coop is
Co-operative
. - Do not include a city name in the bank name, unless it is part of the IFSC code.
- Include the city name in brackets at the end if it is necessary for disambiguation.
- Try not to leave any unexpanded abbreviations in the name
- Also ensure that the 4 character code is committed to
Bank.php
- No period after
Co-operative
We use prettier
for the javascript and rubocop
for the Ruby code for style fixes
Releases are partially automated. To draft a new release, follow these steps:
- Create a new release/{version} branch
- Copy the artifacts from the build pipeline and commit it (
IFSC.json
andsublet.json
) - Make sure that the tests are passing
- Download the
release.md
file from the release pipeline - Bump the versions in the following places:
package.json
,ifsc.gemspec
and commit it - Merge the PR
- Tag the merge commit (don't use a prefix, just
X.Y.Z
) - Push the tag to GitHub.
- Create a release on GitHub for the tag. Use
release.md
from Step 4 as the template. ReplaceTODO
as applicable for the release.
Sometimes, when you know a certain information to be incorrect in the dataset (temporarily or permanently), you might want to override what the official dataset says. For such cases, the library maintains patches in YAML format in the patches/
directory. Each patch has 2 components:
- Diff that must be applied (
patch
) - List of IFSC that it must be applied to (
ifsc
)
Using this, you can selectively correct data for various IFSC, including turning "NEFT"/"IMPS" properties on or off, or setting the right state name.