pokotarou 1.1.4 → 1.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/pokotarou.rb +1 -1
- data/lib/pokotarou/data_register.rb +29 -31
- data/lib/pokotarou/option.rb +2 -2
- data/lib/pokotarou/seeder.rb +3 -3
- data/lib/pokotarou/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ffa801fd4bb62051c3a7859bba742c5b4814a320b20a2069f3eefccb48754b92
|
|
4
|
+
data.tar.gz: 5890e97baf6bd9994a4cb34830c9ecb5b36be6380e1198f76b70819cd8f1c9df
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 600a0fca3e8584d1f498a016583a4e4341facefb465bdfd5362082fc1cdc485fa0ba3f61e31f045c299722a95ac83fa633c8ed1a7a8f2784d630f132e4344ea6
|
|
7
|
+
data.tar.gz: c54bb8913a8d29e8604cd9d7e2b8e18495398dd1dd452ba208d4d38a831d6a2b456a08d8f618762e45b42c5c3ee36a713b7e2609fff4b7ad28d4772df6d3838c
|
data/lib/pokotarou.rb
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
class RegistError < StandardError; end
|
|
2
|
-
class SettingError < StandardError; end
|
|
3
2
|
class SeedError < StandardError; end
|
|
4
3
|
|
|
5
4
|
class DataRegister
|
|
@@ -27,14 +26,13 @@ class DataRegister
|
|
|
27
26
|
private
|
|
28
27
|
|
|
29
28
|
def register_val_by_bulk sym_block, model_data, maked, model_cache, maked_col
|
|
30
|
-
|
|
31
|
-
|
|
29
|
+
model_data.each do |e|
|
|
30
|
+
begin
|
|
32
31
|
str_model = e.first.to_s
|
|
33
32
|
save_model_cache(model_cache, str_model)
|
|
34
33
|
|
|
35
34
|
model = model_cache[str_model][:model]
|
|
36
35
|
sym_model = model_cache[str_model][:sym_model]
|
|
37
|
-
|
|
38
36
|
# model_data.values is config_data
|
|
39
37
|
config_data = e.second
|
|
40
38
|
# set expand expression for loop '<>' and ':' and so on...
|
|
@@ -46,15 +44,20 @@ class DataRegister
|
|
|
46
44
|
|
|
47
45
|
output_log(config_data[:log])
|
|
48
46
|
insert_record(sym_block, str_model, config_data ,model_cache)
|
|
47
|
+
rescue => e
|
|
48
|
+
print "\e[31m"
|
|
49
|
+
puts "[Pokotarou ERROR]"
|
|
50
|
+
puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
|
|
51
|
+
puts "Failed Register record"
|
|
52
|
+
puts "BLOCK: #{sym_block}"
|
|
53
|
+
puts "MODEL: #{str_model}"
|
|
54
|
+
puts "MESSAGE: #{e.message}"
|
|
55
|
+
puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
|
|
56
|
+
print "\e[0m"
|
|
57
|
+
puts ""
|
|
58
|
+
|
|
59
|
+
raise RegistError.new
|
|
49
60
|
end
|
|
50
|
-
rescue => e
|
|
51
|
-
raise SettingError.new("
|
|
52
|
-
Failed setting for bulk insert...
|
|
53
|
-
|
|
54
|
-
block: #{sym_block}
|
|
55
|
-
model: #{str_model}
|
|
56
|
-
message: #{e.message}
|
|
57
|
-
")
|
|
58
61
|
end
|
|
59
62
|
end
|
|
60
63
|
|
|
@@ -63,18 +66,7 @@ class DataRegister
|
|
|
63
66
|
col_arr = config_data[:col].keys
|
|
64
67
|
# seed_arr: [[elem1, elem2, elem3...]]
|
|
65
68
|
seed_arr = config_data[:col].map{|_, val| val }.transpose
|
|
66
|
-
|
|
67
|
-
begin
|
|
68
|
-
model_cache[str_model][:model].import(col_arr, seed_arr, validate: config_data[:validate], timestamps: false)
|
|
69
|
-
rescue => e
|
|
70
|
-
raise RegistError.new("
|
|
71
|
-
Failed bulk insert...
|
|
72
|
-
|
|
73
|
-
block: #{sym_block}
|
|
74
|
-
model: #{str_model}
|
|
75
|
-
message: #{e.message}
|
|
76
|
-
")
|
|
77
|
-
end
|
|
69
|
+
model_cache[str_model][:model].import(col_arr, seed_arr, validate: config_data[:validate], timestamps: false)
|
|
78
70
|
end
|
|
79
71
|
|
|
80
72
|
def save_model_cache model_cache, str_model
|
|
@@ -146,13 +138,19 @@ class DataRegister
|
|
|
146
138
|
update_maked_col(maked_col, sym_model, key, config_data[:col][key])
|
|
147
139
|
config_data[:col][key] = seeds
|
|
148
140
|
rescue => e
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
"
|
|
141
|
+
print "\e[31m"
|
|
142
|
+
puts "[Pokotarou ERROR]"
|
|
143
|
+
puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
|
|
144
|
+
puts "Failed Generating seed"
|
|
145
|
+
puts "BLOCK: #{sym_block}"
|
|
146
|
+
puts "MODEL: #{sym_model}"
|
|
147
|
+
puts "COLUMN: #{key}"
|
|
148
|
+
puts "MESSAGE: #{e.message}"
|
|
149
|
+
puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
|
|
150
|
+
print "\e[0m"
|
|
151
|
+
puts ""
|
|
152
|
+
|
|
153
|
+
raise SeedError.new
|
|
156
154
|
end
|
|
157
155
|
end
|
|
158
156
|
end
|
data/lib/pokotarou/option.rb
CHANGED
|
@@ -19,7 +19,7 @@ class Option
|
|
|
19
19
|
# separate option to 'select' and 'add'
|
|
20
20
|
# { select = >[], add => [] }
|
|
21
21
|
select_filter = ->(name){ ["rotate", "random"].include?(name) }
|
|
22
|
-
add_filter = ->(name){ ["add_id"].include?(name) }
|
|
22
|
+
add_filter = ->(name){ ["add_id", "sequence"].include?(name) }
|
|
23
23
|
|
|
24
24
|
{
|
|
25
25
|
select: option.find{|s| select_filter.call(s)},
|
|
@@ -38,7 +38,7 @@ class Option
|
|
|
38
38
|
# if val is nil, return nil
|
|
39
39
|
return nil if val.nil?
|
|
40
40
|
# not use '<<' to avoid destructive effect
|
|
41
|
-
return "#{val}_#{cnt}" if option == "add_id"
|
|
41
|
+
return "#{val}_#{cnt}" if option == "add_id" || option == "sequence"
|
|
42
42
|
|
|
43
43
|
val
|
|
44
44
|
end
|
data/lib/pokotarou/seeder.rb
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
class Seeder
|
|
1
|
+
class Seeder
|
|
2
2
|
class << self
|
|
3
3
|
def gen config_data, key
|
|
4
4
|
n = config_data[:loop]
|
|
@@ -9,8 +9,8 @@ class Seeder
|
|
|
9
9
|
return make_array(n, ->(){ rand(100) }) if type == "integer"
|
|
10
10
|
return make_array(n, ->(){ rand(0.0..100.0) }) if type == "float"
|
|
11
11
|
return make_array(n, ->(){ rand(0.0..1_000_000_000.0) }) if type == "decimal"
|
|
12
|
-
return make_array(n, ->(){
|
|
13
|
-
return make_array(n, ->(){
|
|
12
|
+
return make_array(n, ->(){ SecureRandom.hex(20) }) if type == "string"
|
|
13
|
+
return make_array(n, ->(){ SecureRandom.hex(200) }) if ["text", "binary"].include?(type)
|
|
14
14
|
return make_array(n, ->(){ [true, false].sample }) if type == "boolean"
|
|
15
15
|
return make_string_array(n, enum) if type == "string"
|
|
16
16
|
return make_datetime_array() if ["datetime", "date", "time"].include?(type)
|
data/lib/pokotarou/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: pokotarou
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.5
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Kashiwara
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-02-
|
|
11
|
+
date: 2020-02-15 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|