From 30755635645eae9ae882170e62505329bb81b990 Mon Sep 17 00:00:00 2001 From: Andrew Ruthven Date: Sun, 21 Apr 2013 01:51:21 +1200 Subject: [PATCH] Fix returning an API Key that was size + 1. 0..size iterates through size + 1 elements. So asking for an API that was 16 was actually returning a string of 17 characters. This broke trying to shove it into a varchar(16) in PostgreSQL. --- lib/key_utilities.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/key_utilities.rb b/lib/key_utilities.rb index 798e83f..6071c57 100644 --- a/lib/key_utilities.rb +++ b/lib/key_utilities.rb @@ -3,7 +3,7 @@ module KeyUtilities # generates a database unique api key def generate_api_key(size = 16) alphanumerics = ('0'..'9').to_a + ('A'..'Z').to_a - k = (0..size).map {alphanumerics[Kernel.rand(36)]}.join + k = (0..(size - 1)).map {alphanumerics[Kernel.rand(36)]}.join # if key exists in database, regenerate key k = generate_api_key if ApiKey.find_by_api_key(k) @@ -11,4 +11,4 @@ module KeyUtilities # output the key k end -end \ No newline at end of file +end