diff options
-rw-r--r-- | app/models/invite_code.rb | 5 | ||||
-rw-r--r-- | lib/tasks/invite_code.rake | 21 |
2 files changed, 16 insertions, 10 deletions
diff --git a/app/models/invite_code.rb b/app/models/invite_code.rb index 30a6498..8f69582 100644 --- a/app/models/invite_code.rb +++ b/app/models/invite_code.rb @@ -1,4 +1,3 @@ -require 'coupon_code' class InviteCode < CouchRest::Model::Base use_database 'invite_codes' @@ -14,9 +13,11 @@ class InviteCode < CouchRest::Model::Base def initialize(attributes = {}, options = {}) super(attributes, options) - write_attribute('invite_code', CouponCode.generate) if new? end + def set_invite_code(code) + write_attribute(:invite_code, code) + end end diff --git a/lib/tasks/invite_code.rake b/lib/tasks/invite_code.rake index f3bafac..b379d3a 100644 --- a/lib/tasks/invite_code.rake +++ b/lib/tasks/invite_code.rake @@ -1,16 +1,21 @@ - +require 'base64' +require 'securerandom' desc "Generate a batch of invite codes" -task :generate_invites, [:n] => :environment do |task, args| +task :generate_invites, [:n, :u] => :environment do |task, args| + + codes = args.n + codes = codes.to_i - codes = args.n - codes = codes.to_i + if args.u != nil + max_uses = args.u + end - codes.times do |x| + codes.times do |x| x = InviteCode.new + x.max_uses = max_uses x.save - puts "#{x.invite_code} Code generated." - + puts x.invite_code end -end +end |