Promocode Generator
Generates save and unique (when used with AR) codes which can be handed to customers for promotional campaigns.
Installation
Add this line to your application's Gemfile:
gem 'promocode_generator'
And then execute:
$ bundle
Or install it yourself as:
$ gem install promocode_generator
Usage
Without Rails:
Use PromocodeGenerator.generate(length) to produce a promotional code of the desired length.
With Rails:
In your model, use the promocode_attribute method to automatically generate a promotional code of length 8 in the before_create hook:
class Campaign < ActiveRecord::Base
promocode_attribute :code
end
Basic uniqueness validation comes by default so that codes are generated until a non-existing code is found in the db. Provide the :reject_if option to customize:
promocode_attribute :code, :reject_if => Proc.new { |code| ModelA.where(:code => code).any? }
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request