diff --git a/lib/acts_as_redeemable.rb b/lib/acts_as_redeemable.rb index 2d2dec8..10dd3ba 100644 --- a/lib/acts_as_redeemable.rb +++ b/lib/acts_as_redeemable.rb @@ -1,4 +1,5 @@ require 'activerecord' +require 'readable_random' module ActsAsRedeemable def self.included(base) @@ -40,7 +41,7 @@ def acts_as_redeemable(options = {}) # Generates an alphanumeric code using an MD5 hash # * +code_length+ - number of characters to return def generate_code(code_length=6) - ActiveSupport::SecureRandom.base64(code_length).first(code_length).downcase + ReadableRandom.get(code_length) end # Generates unique code based on +generate_code+ method diff --git a/spec/acts_as_redeemable_spec.rb b/spec/acts_as_redeemable_spec.rb index dad250e..97af6a1 100644 --- a/spec/acts_as_redeemable_spec.rb +++ b/spec/acts_as_redeemable_spec.rb @@ -36,11 +36,11 @@ end it "generates a unique code" do - ActiveSupport::SecureRandom.should_receive(:base64).and_return 'a' + ReadableRandom.should_receive(:get).and_return 'a' FreeTodayCoupon.create!(:user_id => 1).code.should == 'a' - ActiveSupport::SecureRandom.should_receive(:base64).and_return 'a' - ActiveSupport::SecureRandom.should_receive(:base64).and_return 'b' + ReadableRandom.should_receive(:get).and_return 'a' + ReadableRandom.should_receive(:get).and_return 'b' FreeTodayCoupon.create!(:user_id => 1).code.should == 'b' end end