summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Gemfile1
-rw-r--r--Gemfile.lock2
-rw-r--r--app/models/invite_code.rb13
3 files changed, 11 insertions, 5 deletions
diff --git a/Gemfile b/Gemfile
index e294a4a..62f8519 100644
--- a/Gemfile
+++ b/Gemfile
@@ -13,7 +13,6 @@ end
## AUTHENTICATION
gem "ruby-srp", "~> 0.2.1"
gem "rails_warden"
-gem "coupon_code"
## LOCALIZATION
gem 'http_accept_language'
diff --git a/Gemfile.lock b/Gemfile.lock
index 7f5e21a..da4df87 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -92,7 +92,6 @@ GEM
actionpack (~> 3.0)
couchrest
couchrest_model
- coupon_code (0.0.1)
cucumber (1.3.17)
builder (>= 2.1.2)
diff-lcs (>= 1.1.3)
@@ -283,7 +282,6 @@ DEPENDENCIES
couchrest (~> 1.1.3)
couchrest_model (~> 2.0.0)
couchrest_session_store (= 0.3.0)
- coupon_code
cucumber-rails
debugger
factory_girl_rails
diff --git a/app/models/invite_code.rb b/app/models/invite_code.rb
index 13c3a39..5666a4f 100644
--- a/app/models/invite_code.rb
+++ b/app/models/invite_code.rb
@@ -1,4 +1,5 @@
-require 'coupon_code'
+require 'base64'
+require 'securerandom'
class InviteCode < CouchRest::Model::Base
use_database 'invite_codes'
@@ -14,10 +15,18 @@ class InviteCode < CouchRest::Model::Base
end
def initialize(attributes = {}, options = {})
+ if !attributes.has_key?("_id")
+ attributes[:id] = InviteCode.generate_invite
+ end
+
super(attributes, options)
- write_attribute('invite_code', CouponCode.generate) if new?
+
+ write_attribute('invite_code', attributes[:id]) if new?
end
+ def self.generate_invite
+ Base64.encode64(SecureRandom.random_bytes).downcase.gsub(/[0oil1+_\/]/,'')[0..7].scan(/..../).join('-')
+ end
end