class Faker::Number
Public Class Methods
between(from = 1.00, to = 5000.00)
click to toggle source
# File lib/faker/number.rb, line 53 def between(from = 1.00, to = 5000.00) Faker::Base.rand_in_range(from, to) end
decimal(l_digits = 5, r_digits = 2)
click to toggle source
# File lib/faker/number.rb, line 26 def decimal(l_digits = 5, r_digits = 2) l_d = number(l_digits) r_d = decimal_part(r_digits) "#{l_d}.#{r_d}" end
decimal_part(digits = 10)
click to toggle source
# File lib/faker/number.rb, line 17 def decimal_part(digits = 10) num = '' if digits > 1 num = non_zero_digit digits -= 1 end leading_zero_number(digits) + num end
digit()
click to toggle source
# File lib/faker/number.rb, line 36 def digit rand(10).to_s end
hexadecimal(digits = 6)
click to toggle source
# File lib/faker/number.rb, line 40 def hexadecimal(digits = 6) hex = '' digits.times { hex += rand(15).to_s(16) } hex end
leading_zero_number(digits = 10)
click to toggle source
# File lib/faker/number.rb, line 13 def leading_zero_number(digits = 10) (1..digits).collect { digit }.join end
negative(from = -5000.00, to = -1.00)
click to toggle source
# File lib/faker/number.rb, line 62 def negative(from = -5000.00, to = -1.00) random_number = between(from, to) less_than_zero(random_number) end
non_zero_digit()
click to toggle source
# File lib/faker/number.rb, line 32 def non_zero_digit rand(1..9).to_s end
normal(mean = 1, standard_deviation = 1)
click to toggle source
# File lib/faker/number.rb, line 46 def normal(mean = 1, standard_deviation = 1) theta = 2 * Math::PI * rand rho = Math.sqrt(-2 * Math.log(1 - rand)) scale = standard_deviation * rho mean + scale * Math.cos(theta) end
number(digits = 10)
click to toggle source
# File lib/faker/number.rb, line 4 def number(digits = 10) num = '' if digits > 1 num = non_zero_digit digits -= 1 end num + leading_zero_number(digits) end
positive(from = 1.00, to = 5000.00)
click to toggle source
# File lib/faker/number.rb, line 57 def positive(from = 1.00, to = 5000.00) random_number = between(from, to) greater_than_zero(random_number) end
Private Class Methods
greater_than_zero(number)
click to toggle source
# File lib/faker/number.rb, line 69 def greater_than_zero(number) should_be(number, :>) end
less_than_zero(number)
click to toggle source
# File lib/faker/number.rb, line 73 def less_than_zero(number) should_be(number, :<) end
should_be(number, method_to_compare)
click to toggle source
# File lib/faker/number.rb, line 77 def should_be(number, method_to_compare) if number.send(method_to_compare, 0) number else number * -1 end end