3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/pokotarou/seeder.rb', line 3
def gen config_data, key
n = config_data[:loop]
type = config_data[:type][key]
enum = config_data[:enum][key]
foreign_key = config_data[:foreign_key][key]
return foreign_key.pluck(:id) if foreign_key.present?
return enum if enum.present?
return make_array(n, ->(){ rand(100) }) if type == "integer"
return make_array(n, ->(){ rand(0.0..100.0) }) if type == "float"
return make_array(n, ->(){ rand(0.0..1_000_000_000.0) }) if type == "decimal"
return make_array(n, ->(){ SecureRandom.hex(20) }) if type == "string"
return make_array(n, ->(){ SecureRandom.hex(300) }) if ["text", "binary"].include?(type)
return make_array(n, ->(){ [true, false].sample }) if type == "boolean"
return make_string_array(n, enum) if type == "string"
return make_datetime_array() if ["string", "datetime", "date", "time"].include?(type)
end
|