Class: Faker::Types
- Inherits:
-
Base
show all
- Defined in:
- lib/faker/default/types.rb
Constant Summary
collapse
- CHARACTERS =
('0'..'9').to_a + ('a'..'z').to_a
- SIMPLE_TYPES =
%i[string fixnum].freeze
- COMPLEX_TYPES =
%i[hash array].freeze
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
.character ⇒ Object
19
20
21
|
# File 'lib/faker/default/types.rb', line 19
def character
sample(CHARACTERS)
end
|
.complex_rb_hash(key_count = 1) ⇒ Object
35
36
37
|
# File 'lib/faker/default/types.rb', line 35
def complex_rb_hash(key_count = 1)
rb_hash(key_count, random_complex_type)
end
|
.random_complex_type ⇒ Object
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/faker/default/types.rb', line 57
def random_complex_type
types = SIMPLE_TYPES + COMPLEX_TYPES
type_to_use = types[rand(0..types.length - 1)]
case type_to_use
when :string
rb_string
when :fixnum
rb_integer
when :hash
rb_hash
when :array
rb_array
end
end
|
.random_type ⇒ Object
47
48
49
50
51
52
53
54
55
|
# File 'lib/faker/default/types.rb', line 47
def random_type
type_to_use = SIMPLE_TYPES[rand(0..SIMPLE_TYPES.length - 1)]
case type_to_use
when :string
rb_string
when :fixnum
rb_integer
end
end
|
.rb_array(len = 1) ⇒ Object
39
40
41
42
43
44
45
|
# File 'lib/faker/default/types.rb', line 39
def rb_array(len = 1)
[].tap do |ar|
len.times do
ar.push random_type
end
end
end
|
.rb_hash(key_count = 1, type = random_type) ⇒ Object
27
28
29
30
31
32
33
|
# File 'lib/faker/default/types.rb', line 27
def rb_hash(key_count = 1, type = random_type)
{}.tap do |hsh|
Lorem.words(key_count * 2).uniq.first(key_count).each do |s|
hsh.merge!(s.to_sym => type)
end
end
end
|
.rb_integer(from = 0, to = 100) ⇒ Object
23
24
25
|
# File 'lib/faker/default/types.rb', line 23
def rb_integer(from = 0, to = 100)
rand(from..to).to_i
end
|
.rb_string(words = 1) ⇒ Object
10
11
12
13
14
15
16
17
|
# File 'lib/faker/default/types.rb', line 10
def rb_string(words = 1)
resolved_num = resolve(words)
word_list =
translate('faker.lorem.words')
word_list *= ((resolved_num / word_list.length) + 1)
shuffle(word_list)[0, resolved_num].join(' ')
end
|