Skip to content

edharmowongso/voucher-code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 will 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 will 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 will 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)

About

Coupon/Voucher Code Generator

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors