randomfromrange 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/randomfromrange.rb +4 -1
- metadata +1 -1
data/lib/randomfromrange.rb
CHANGED
@@ -5,7 +5,10 @@ Kernel.class_eval do
|
|
5
5
|
if(v.respond_to? :to_i)
|
6
6
|
return old_rand(v.to_i.abs)
|
7
7
|
elsif(v.respond_to? :begin and v.respond_to? :end)
|
8
|
-
|
8
|
+
b = (v.begin.to_s =~ /^[0-9]+\.([0-9]+)$/) ? $1.to_s : ''
|
9
|
+
e = (v.end.to_s =~ /^[0-9]+\.([0-9]+)$/) ? $1.to_s : ''
|
10
|
+
precision = [b.length, e.length].max
|
11
|
+
return ((v.end-v.begin)*old_rand() + v.begin).round(precision)
|
9
12
|
else
|
10
13
|
raise TypeError, 'can\'t convert ' + v.class + ' into Integer'
|
11
14
|
end
|