Class: Faker::Number
- Inherits:
-
Base
- Object
- Base
- Faker::Number
show all
- Defined in:
- lib/faker/default/number.rb
Constant Summary
Constants inherited
from Base
Base::Letters, Base::Numbers, Base::ULetters
Class Method Summary
collapse
Methods inherited from Base
bothify, disable_enforce_available_locales, fetch, fetch_all, flexible, letterify, method_missing, numerify, parse, rand, rand_in_range, regexify, resolve, respond_to_missing?, sample, shuffle, translate, unique, with_locale
Class Method Details
.between(from = 1.00, to = 5000.00) ⇒ Object
58
59
60
|
# File 'lib/faker/default/number.rb', line 58
def between(from = 1.00, to = 5000.00)
Faker::Base.rand_in_range(from, to)
end
|
.decimal(l_digits = 5, r_digits = 2) ⇒ Object
30
31
32
33
34
35
|
# File 'lib/faker/default/number.rb', line 30
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) ⇒ Object
21
22
23
24
25
26
27
28
|
# File 'lib/faker/default/number.rb', line 21
def decimal_part(digits = 10)
num = ''
if digits > 1
num = non_zero_digit
digits -= 1
end
leading_zero_number(digits) + num
end
|
.digit ⇒ Object
41
42
43
|
# File 'lib/faker/default/number.rb', line 41
def digit
rand(10).to_s
end
|
.hexadecimal(digits = 6) ⇒ Object
45
46
47
48
49
|
# File 'lib/faker/default/number.rb', line 45
def hexadecimal(digits = 6)
hex = ''
digits.times { hex += rand(15).to_s(16) }
hex
end
|
.leading_zero_number(digits = 10) ⇒ Object
17
18
19
|
# File 'lib/faker/default/number.rb', line 17
def leading_zero_number(digits = 10)
'0' + (2..digits).collect { digit }.join
end
|
.negative(from = -5000.00,, to = -1.00)) ⇒ Object
72
73
74
75
76
|
# File 'lib/faker/default/number.rb', line 72
def negative(from = -5000.00, to = -1.00)
random_number = between(from, to)
less_than_zero(random_number)
end
|
.non_zero_digit ⇒ Object
37
38
39
|
# File 'lib/faker/default/number.rb', line 37
def non_zero_digit
rand(1..9).to_s
end
|
.normal(mean = 1, standard_deviation = 1) ⇒ Object
51
52
53
54
55
56
|
# File 'lib/faker/default/number.rb', line 51
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) ⇒ Object
6
7
8
9
10
11
12
13
14
15
|
# File 'lib/faker/default/number.rb', line 6
def number(digits = 10)
num = ''
if digits > 1
num = non_zero_digit
digits -= 1
end
num + (1..digits).collect { digit }.join
end
|
.positive(from = 1.00, to = 5000.00) ⇒ Object
66
67
68
69
70
|
# File 'lib/faker/default/number.rb', line 66
def positive(from = 1.00, to = 5000.00)
random_number = between(from, to)
greater_than_zero(random_number)
end
|
.within(range = 1.00..5000.00) ⇒ Object
62
63
64
|
# File 'lib/faker/default/number.rb', line 62
def within(range = 1.00..5000.00)
between(range.min, range.max)
end
|