Coupon/Voucher Code Generator
Generate unique, random, and hard to guess coupon/voucher codes. Use cases: promo codes, loyalty coupons, gift vouchers, in-app purchases, referral links
This project was inspired from https://github.com/rspective/voucher-code-generator-js
Installation
Add this line to your application's Gemfile:
gem 'voucher_code'
And then execute:
$ bundle install
API Reference
Generate voucher code
Add this snippet to your base code
VoucherCode.generate
If you would like to use custom configuration, there are several attributes you have to understand first.
Count It used for returning :count generated voucher codes By default, it sets to 1
Length
It used for returning generated voucher codes based on length configuration By default, it sets to 8
Charset
It used for generating voucher code Use this three options: config.charset = '0123456789' config.charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' config.charset = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' You can also use your own custom charset By default, if sets to '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
Prefix
It used for append prefix before generated voucher code For example: config.prefix = '2020-' It generates 2020-$voucher_code By default, it sets to empty string/''
Postfix
It used for append postfix after generated voucher code For example: config.postfix = '-2020' It generates $voucher_code-2020 By default, it sets to empty string/''
Pattern
It used for generate voucher code based on your customize pattern For example: config.pattern = '####-####' It generates 'ABHs-12Lo' By default, it sets to '########' where it depends on config.length
configuration = {
count: 1,
length: 8,
charset: '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ',
prefix: 'abcd-',
postfix: '-2020',
pattern: '########'
}
VoucherCode.generate(configuration)