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 = self.number(l_digits) r_d = self.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(9) + 1).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