From 76cc852527a117e1cbff7f2ea80afa9033abb422 Mon Sep 17 00:00:00 2001 From: ankonym Date: Thu, 8 Oct 2015 15:37:27 +0200 Subject: Adjust the rake task to make id = invite code This will simplify invite code deletion after running tests. --- app/models/invite_code.rb | 5 +++-- 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 -- cgit v1.2.3 From 2541d08598c2bc4ce04f63b4ed4056ffb044a596 Mon Sep 17 00:00:00 2001 From: ankonym Date: Thu, 8 Oct 2015 17:00:04 +0200 Subject: Fix the InviteCode initialize method so leap_web tests stay green --- app/models/invite_code.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/models/invite_code.rb b/app/models/invite_code.rb index 8f69582..701b663 100644 --- a/app/models/invite_code.rb +++ b/app/models/invite_code.rb @@ -13,6 +13,8 @@ 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) -- cgit v1.2.3 From 244d6e99bd2a911c68f77ec006a852dffc7d6303 Mon Sep 17 00:00:00 2001 From: ankonym Date: Fri, 9 Oct 2015 13:06:42 +0200 Subject: Replace Coupon Code gem for invite code creation Replacing the Coupon Code gem with base64/securerandom as suggested by Elijah. --- app/models/invite_code.rb | 8 +++++++- lib/tasks/invite_code.rake | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/models/invite_code.rb b/app/models/invite_code.rb index 701b663..30d32d6 100644 --- a/app/models/invite_code.rb +++ b/app/models/invite_code.rb @@ -1,3 +1,5 @@ +require 'base64' +require 'securerandom' class InviteCode < CouchRest::Model::Base use_database 'invite_codes' @@ -13,10 +15,14 @@ class InviteCode < CouchRest::Model::Base def initialize(attributes = {}, options = {}) super(attributes, options) - write_attribute('invite_code', CouponCode.generate) if new? + write_attribute('invite_code', generate_invite) if new? end + def generate_invite + Base64.encode64(SecureRandom.random_bytes).downcase.gsub(/[0oil1+_\/]/,'')[0..7].scan(/..../).join('-') + end + def set_invite_code(code) write_attribute(:invite_code, code) end diff --git a/lib/tasks/invite_code.rake b/lib/tasks/invite_code.rake index b379d3a..fa397bb 100644 --- a/lib/tasks/invite_code.rake +++ b/lib/tasks/invite_code.rake @@ -19,3 +19,4 @@ task :generate_invites, [:n, :u] => :environment do |task, args| end end + -- cgit v1.2.3 From 1d6056755ab810ab08127d810ad58a7bf2193eeb Mon Sep 17 00:00:00 2001 From: ankonym Date: Fri, 9 Oct 2015 14:55:40 +0200 Subject: Remove Coupon Code gem from Gemfile --- Gemfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Gemfile b/Gemfile index f0d50df..fdd63f5 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' -- cgit v1.2.3 From 847887f5ac86f8ea561f21739f683762761fe758 Mon Sep 17 00:00:00 2001 From: ankonym Date: Mon, 12 Oct 2015 15:50:18 +0200 Subject: Remove Coupon Code gem and make invite code = id Id is set = invite code to make it easier to delete the invite codes that get created during the leap platform tests (because this avoids having to look up ttheir id each time). --- Gemfile.lock | 5 +++-- app/models/invite_code.rb | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 5ffb0c8..3c9a211 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) @@ -277,7 +276,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 @@ -307,3 +305,6 @@ DEPENDENCIES thin uglifier (~> 1.2.7) valid_email + +BUNDLED WITH + 1.10.6 diff --git a/app/models/invite_code.rb b/app/models/invite_code.rb index 30d32d6..6fcc427 100644 --- a/app/models/invite_code.rb +++ b/app/models/invite_code.rb @@ -14,18 +14,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', generate_invite) if new? + write_attribute('invite_code', attributes[:id]) if new? end - def generate_invite + def self.generate_invite Base64.encode64(SecureRandom.random_bytes).downcase.gsub(/[0oil1+_\/]/,'')[0..7].scan(/..../).join('-') end - - def set_invite_code(code) - write_attribute(:invite_code, code) - end end -- cgit v1.2.3 From d38e6ab469630b8f4e72fa859e9aaac14c3033ff Mon Sep 17 00:00:00 2001 From: ankonym Date: Fri, 9 Oct 2015 13:06:42 +0200 Subject: Replace Coupon Code gem for invite code creation Replacing the Coupon Code gem with base64/securerandom as suggested by Elijah. --- app/models/invite_code.rb | 2 +- lib/tasks/invite_code.rake | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/models/invite_code.rb b/app/models/invite_code.rb index 6fcc427..cee4095 100644 --- a/app/models/invite_code.rb +++ b/app/models/invite_code.rb @@ -19,7 +19,7 @@ class InviteCode < CouchRest::Model::Base end super(attributes, options) - + write_attribute('invite_code', attributes[:id]) if new? end diff --git a/lib/tasks/invite_code.rake b/lib/tasks/invite_code.rake index fa397bb..1654599 100644 --- a/lib/tasks/invite_code.rake +++ b/lib/tasks/invite_code.rake @@ -11,6 +11,10 @@ task :generate_invites, [:n, :u] => :environment do |task, args| max_uses = args.u end + def generate_invite + Base64.encode64(SecureRandom.random_bytes).downcase.gsub(/[0oil1+_\/]/,'')[0..7].scan(/..../).join('-') + end + codes.times do |x| x = InviteCode.new x.max_uses = max_uses -- cgit v1.2.3 From 85161c1bf4f1e830f714e8818e39d7f186914a09 Mon Sep 17 00:00:00 2001 From: ankonym Date: Mon, 12 Oct 2015 15:50:18 +0200 Subject: Remove Coupon Code gem and make invite code = id Id is set = invite code to make it easier to delete the invite codes that get created during the leap platform tests (because this avoids having to look up ttheir id each time). --- app/models/invite_code.rb | 2 +- lib/tasks/invite_code.rake | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/app/models/invite_code.rb b/app/models/invite_code.rb index cee4095..6fcc427 100644 --- a/app/models/invite_code.rb +++ b/app/models/invite_code.rb @@ -19,7 +19,7 @@ class InviteCode < CouchRest::Model::Base end super(attributes, options) - + write_attribute('invite_code', attributes[:id]) if new? end diff --git a/lib/tasks/invite_code.rake b/lib/tasks/invite_code.rake index 1654599..fa397bb 100644 --- a/lib/tasks/invite_code.rake +++ b/lib/tasks/invite_code.rake @@ -11,10 +11,6 @@ task :generate_invites, [:n, :u] => :environment do |task, args| max_uses = args.u end - def generate_invite - Base64.encode64(SecureRandom.random_bytes).downcase.gsub(/[0oil1+_\/]/,'')[0..7].scan(/..../).join('-') - end - codes.times do |x| x = InviteCode.new x.max_uses = max_uses -- cgit v1.2.3 From 7c4122110f9c8b538a1268fdab4fe486816800ed Mon Sep 17 00:00:00 2001 From: ankonym Date: Tue, 13 Oct 2015 16:58:16 +0200 Subject: Cleaned up last traces of the Great Git Mess Removed the parts related to multi-use invite codes (those are in a separate pull request) - I hope this is all correct now! Sorry for the confusion. --- lib/tasks/invite_code.rake | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/lib/tasks/invite_code.rake b/lib/tasks/invite_code.rake index fa397bb..3d608ce 100644 --- a/lib/tasks/invite_code.rake +++ b/lib/tasks/invite_code.rake @@ -1,19 +1,11 @@ -require 'base64' -require 'securerandom' - desc "Generate a batch of invite codes" -task :generate_invites, [:n, :u] => :environment do |task, args| +task :generate_invites, [:n] => :environment do |task, args| codes = args.n codes = codes.to_i - if args.u != nil - max_uses = args.u - end - codes.times do |x| x = InviteCode.new - x.max_uses = max_uses x.save puts x.invite_code end -- cgit v1.2.3