pokotarou 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 12597f8db907a8280e94b6007de1bdd0b77e63501a3123f202e6fec7786c7bcd
4
- data.tar.gz: 15072090ef575f4e34eba0e403c04552f22046a3ca1cc3effbe4d5cf4d8625e1
3
+ metadata.gz: 1a8dbadc1f72b24fc4ae994e3334a8e8c78725536a2dbc5437d7203ab77a69c5
4
+ data.tar.gz: 58f19fcfcd76b2f7df6c0065b3816ef5062735a92390dcdb94804bb9608ca699
5
5
  SHA512:
6
- metadata.gz: ff32c23a477fc3c4a618c6dce3eff767e413b63c37ec8a21dc83c6bc65d41b62c4c37109ab4faa0e96086b00eb48b673ca79184d1f764fe94b6c39bf1c9b6102
7
- data.tar.gz: 84d896e8fc5418a08ce555aaf40fe327ee245d9e081a76ebb632789eb10c5dee6669d876bd7eeea7fbdfac2b734c4d4fcb47738cd06f46ea90ac9f5a26c8d30a
6
+ metadata.gz: 2d74d989306dfc6800a7409ee940ed171de101f8e26ddfe0c7e2a657eba695d92a054022b7ddaabc80dda234ca1ecca05da2f1154b1c6622507e94eea35e6626
7
+ data.tar.gz: ef45d33242aed49e59a23c216d3964e468414ab0d6d62d230229407673b6cb74a3709ad272a1767815c10e23c123ce44223e392d077bfba68272eb338efae078
data/lib/pokotarou.rb CHANGED
@@ -1,177 +1,102 @@
1
1
  require "activerecord-import"
2
- require "pokotarou/registration_config_maker/main.rb"
3
- require "pokotarou/seed_data_register/main.rb"
4
- require "pokotarou/parser/const_parser.rb"
2
+ require "pokotarou/handler_factory"
3
+ require "pokotarou/operator"
5
4
 
6
5
  module Pokotarou
7
- class Operater
8
- class NotFoundLoader < StandardError; end
9
- class << self
10
- def execute input
11
- AdditionalMethods::Main.init()
12
-
13
- # if input is filepath, generate config_data
14
- return_val =
15
- if input.kind_of?(String)
16
- SeedDataRegister::Main.register(gen_config(input))
17
- else
18
- SeedDataRegister::Main.register(input)
19
- end
20
-
21
- AdditionalMethods::Main.remove_filepathes_from_yml()
22
-
23
- return_val
24
- end
25
-
26
- def pipeline_execute input_arr
27
- AdditionalMethods::Main.init()
28
-
29
- return_vals = []
30
- input_arr.each do |e|
31
- handler = gen_handler_with_cache(e[:filepath])
32
-
33
- if e[:change_data].present?
34
- e[:change_data].each do |block, config|
35
- config.each do |model, seed|
36
- seed.each do |col_name, val|
37
- handler.change_seed(block, model, col_name, val)
38
- end
39
- end
40
- end
41
- end
42
-
43
- e[:args] ||= {}
44
- e[:args][:passed_return_val] = return_vals.last
45
- set_args(e[:args])
46
-
47
- return_vals << Pokotarou.execute(handler.get_data())
48
- AdditionalMethods::Main.remove_filepathes_from_yml()
49
- end
50
-
51
- return_vals
52
- end
53
-
54
- def import filepath
55
- AdditionalMethods::Main.init()
56
- AdditionalMethods::Main.import(filepath)
57
- end
58
-
59
- def set_args hash
60
- AdditionalArguments::Main.import(hash)
61
- end
62
-
63
- def reset
64
- AdditionalMethods::Main.remove()
65
- AdditionalArguments::Main.remove()
66
- AdditionalVariables::Main.remove()
67
- @handler_chache = {}
68
- end
69
-
70
- def gen_handler filepath
71
- AdditionalMethods::Main.init()
72
-
73
- PokotarouHandler.new(gen_config(filepath))
74
- end
75
-
76
- def gen_handler_with_cache filepath
77
- AdditionalMethods::Main.init()
78
-
79
- @handler_cache ||= {}
80
- @handler_cache[filepath] ||= PokotarouHandler.new(gen_config(filepath))
81
-
82
- @handler_cache[filepath].deep_dup
83
- end
84
-
85
- private
86
-
87
- def gen_config filepath
88
- contents = YAML.load_file(filepath).deep_symbolize_keys!
89
- AdditionalVariables::Main.set_const(contents)
90
- RegistrationConfigMaker::Main.gen(contents)
91
- end
92
-
6
+ class V2
7
+ def initialize filepath
8
+ @handler = Pokotarou::HandlerFactory.gen_handler(filepath)
9
+
10
+ return self
93
11
  end
94
- end
95
- end
96
12
 
97
- module Pokotarou
98
- class << self
99
- def execute input
100
- Operater.execute(input)
13
+ def make
14
+ @handler.make()
101
15
  end
102
16
 
103
- def pipeline_execute input_arr
104
- Operater.pipeline_execute(input_arr)
17
+ def delete_block sym_block
18
+ @handler.delete_block(sym_block)
19
+
20
+ self
105
21
  end
106
22
 
107
- def import filepath
108
- Operater.import(filepath)
23
+ def delete_model sym_block, sym_class
24
+ @handler.delete_model(sym_block, sym_class)
25
+
26
+ self
109
27
  end
110
28
 
111
- def set_args hash
112
- Operater.set_args(hash)
29
+ def delete_col sym_block, sym_class, sym_col
30
+ @handler.delete_col(sym_block, sym_class, sym_col)
31
+
32
+ self
113
33
  end
114
34
 
115
- def reset
116
- Operater.reset()
35
+ def change_loop sym_block, sym_class, n
36
+ @handler.change_loop(sym_block, sym_class, n)
37
+
38
+ self
117
39
  end
118
40
 
119
- def gen_handler filepath
120
- Operater.gen_handler(filepath)
41
+ def change_seed sym_block, sym_class, sym_col, arr
42
+ @handler.change_seed(sym_block, sym_class, sym_col, arr)
43
+
44
+ self
121
45
  end
122
46
 
123
- def gen_handler_with_cache filepath
124
- Operater.gen_handler_with_cache(filepath)
47
+ def get_data
48
+ @handler.get_data
125
49
  end
126
- end
127
- end
128
50
 
129
- class PokotarouHandler
130
- def initialize data
131
- @data = data
132
- end
51
+ def set_data data
52
+ @handler.set_data(data)
53
+ end
54
+
55
+ def set_randomincrement sym_block, sym_class, status
56
+ @handler.set_randomincrement(sym_block, sym_class, status)
133
57
 
134
- def make
135
- ::Pokotarou::Operater.execute(get_data())
136
- end
58
+ self
59
+ end
137
60
 
138
- def delete_block sym_block
139
- @data.delete(sym_block)
140
- end
61
+ def set_autoincrement sym_block, sym_class, status
62
+ @handler.set_autoincrement(sym_block, sym_class, status)
141
63
 
142
- def delete_model sym_block, sym_class
143
- @data[sym_block].delete(sym_class)
64
+ self
65
+ end
144
66
  end
145
67
 
146
- def delete_col sym_block, sym_class, sym_col
147
- exists_content = ->(key){ @data[sym_block][sym_class][key].present? }
68
+ # データ作成メソッドはmakeで統一させる
69
+ # executeはレガシー扱いに設定する
70
+ def self.make input
71
+ Operator.execute(input)
72
+ end
148
73
 
149
- @data[sym_block][sym_class][:col].delete(sym_col) if exists_content.call(:col)
150
- @data[sym_block][sym_class][:option].delete(sym_col) if exists_content.call(:option)
151
- @data[sym_block][sym_class][:convert].delete(sym_col) if exists_content.call(:convert)
74
+ def self.execute input
75
+ Operator.execute(input)
152
76
  end
153
77
 
154
- def change_loop sym_block, sym_class, n
155
- @data[sym_block][sym_class][:loop] = n
78
+ def self.pipeline_execute input_arr
79
+ Operator.pipeline_execute(input_arr)
156
80
  end
157
81
 
158
- def change_seed sym_block, sym_class, sym_col, arr
159
- @data[sym_block][sym_class][:col][sym_col] = arr
82
+ def self.import filepath
83
+ Operator.import(filepath)
160
84
  end
161
85
 
162
- def get_data
163
- @data.deep_dup
86
+ def self.set_args hash
87
+ Operator.set_args(hash)
164
88
  end
165
89
 
166
- def set_data data
167
- @data = data
90
+ def self.reset
91
+ Operator.reset()
168
92
  end
169
-
170
- def set_randomincrement sym_block, sym_class, status
171
- @data[sym_block][sym_class][:randomincrement] = status
93
+
94
+ def self.gen_handler filepath
95
+ HandlerFactory.gen_handler(filepath)
172
96
  end
173
97
 
174
- def set_autoincrement sym_block, sym_class, status
175
- @data[sym_block][sym_class][:autoincrement] = status
98
+ def self.gen_handler_with_cache filepath
99
+ HandlerFactory.gen_handler_with_cache(filepath)
176
100
  end
101
+
177
102
  end
@@ -0,0 +1,66 @@
1
+ module Pokotarou
2
+
3
+ class Handler
4
+ def initialize data
5
+ @data = data
6
+ end
7
+
8
+ def make
9
+ data = get_data()
10
+
11
+ AdditionalMethods::Main.init()
12
+
13
+ # if input is filepath, generate config_data
14
+ return_val =
15
+ if data.kind_of?(String)
16
+ SeedDataRegister::Main.register(gen_config(data))
17
+ else
18
+ SeedDataRegister::Main.register(data)
19
+ end
20
+
21
+ AdditionalMethods::Main.remove_filepathes_from_yml()
22
+
23
+ return_val
24
+ end
25
+
26
+ def delete_block sym_block
27
+ @data.delete(sym_block)
28
+ end
29
+
30
+ def delete_model sym_block, sym_class
31
+ @data[sym_block].delete(sym_class)
32
+ end
33
+
34
+ def delete_col sym_block, sym_class, sym_col
35
+ exists_content = ->(key){ @data[sym_block][sym_class][key].present? }
36
+
37
+ @data[sym_block][sym_class][:col].delete(sym_col) if exists_content.call(:col)
38
+ @data[sym_block][sym_class][:option].delete(sym_col) if exists_content.call(:option)
39
+ @data[sym_block][sym_class][:convert].delete(sym_col) if exists_content.call(:convert)
40
+ end
41
+
42
+ def change_loop sym_block, sym_class, n
43
+ @data[sym_block][sym_class][:loop] = n
44
+ end
45
+
46
+ def change_seed sym_block, sym_class, sym_col, arr
47
+ @data[sym_block][sym_class][:col][sym_col] = arr
48
+ end
49
+
50
+ def get_data
51
+ @data.deep_dup
52
+ end
53
+
54
+ def set_data data
55
+ @data = data
56
+ end
57
+
58
+ def set_randomincrement sym_block, sym_class, status
59
+ @data[sym_block][sym_class][:randomincrement] = status
60
+ end
61
+
62
+ def set_autoincrement sym_block, sym_class, status
63
+ @data[sym_block][sym_class][:autoincrement] = status
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,29 @@
1
+ require "pokotarou/handler"
2
+ require "pokotarou/registration_config_maker/main"
3
+
4
+ module Pokotarou
5
+
6
+ class HandlerFactory
7
+ class << self
8
+ def gen_handler filepath
9
+ AdditionalMethods::Main.init()
10
+
11
+ Handler.new(gen_config(filepath))
12
+ end
13
+
14
+ def gen_handler_with_cache filepath
15
+ AdditionalMethods::Main.init()
16
+
17
+ @handler_cache ||= {}
18
+ @handler_cache[filepath] ||= Handler.new(gen_config(filepath))
19
+
20
+ @handler_cache[filepath].deep_dup
21
+ end
22
+
23
+ private
24
+ def gen_config filepath
25
+ RegistrationConfigMaker::Main.gen(filepath)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,79 @@
1
+ require "pokotarou/handler_factory"
2
+ require "pokotarou/registration_config_maker/main"
3
+ require "pokotarou/additional_arguments/main"
4
+ require "pokotarou/additional_methods/main"
5
+ require "pokotarou/additional_variables/main"
6
+ require "pokotarou/seed_data_register/main.rb"
7
+ require "pokotarou/parser/const_parser.rb"
8
+
9
+ module Pokotarou
10
+ class Operator
11
+ class NotFoundLoader < StandardError; end
12
+ class << self
13
+ def execute input
14
+ AdditionalMethods::Main.init()
15
+
16
+ # if input is filepath, generate config_data
17
+ return_val =
18
+ if input.kind_of?(String)
19
+ SeedDataRegister::Main.register(gen_config(input))
20
+ else
21
+ SeedDataRegister::Main.register(input)
22
+ end
23
+
24
+ AdditionalMethods::Main.remove_filepathes_from_yml()
25
+
26
+ return_val
27
+ end
28
+
29
+ def pipeline_execute input_arr
30
+ AdditionalMethods::Main.init()
31
+
32
+ return_vals = []
33
+ input_arr.each do |e|
34
+ handler = HandlerFactory.gen_handler_with_cache(e[:filepath])
35
+
36
+ if e[:change_data].present?
37
+ e[:change_data].each do |block, config|
38
+ config.each do |model, seed|
39
+ seed.each do |col_name, val|
40
+ handler.change_seed(block, model, col_name, val)
41
+ end
42
+ end
43
+ end
44
+ end
45
+
46
+ e[:args] ||= {}
47
+ e[:args][:passed_return_val] = return_vals.last
48
+ set_args(e[:args])
49
+
50
+ return_vals << Pokotarou.execute(handler.get_data())
51
+ AdditionalMethods::Main.remove_filepathes_from_yml()
52
+ end
53
+
54
+ return_vals
55
+ end
56
+
57
+ def import filepath
58
+ AdditionalMethods::Main.init()
59
+ AdditionalMethods::Main.import(filepath)
60
+ end
61
+
62
+ def set_args hash
63
+ AdditionalArguments::Main.import(hash)
64
+ end
65
+
66
+ def reset
67
+ AdditionalMethods::Main.remove()
68
+ AdditionalArguments::Main.remove()
69
+ AdditionalVariables::Main.remove()
70
+ @handler_chache = {}
71
+ end
72
+
73
+ def gen_config filepath
74
+ RegistrationConfigMaker::Main.gen(filepath)
75
+ end
76
+
77
+ end
78
+ end
79
+ end
@@ -11,7 +11,7 @@ module Pokotarou
11
11
  end
12
12
 
13
13
  def output_error e
14
- raise ParseError.new("Failed Seed Expression parse:#{e.message}")
14
+ raise ParseError.new("Failed parse [ #{e.message} ]")
15
15
  end
16
16
  end
17
17
  end
@@ -5,14 +5,19 @@ require "pokotarou/registration_config_maker/template_option_setter.rb"
5
5
  require "pokotarou/registration_config_maker/grouping_option_setter.rb"
6
6
  require "pokotarou/registration_config_maker/model_option_setter.rb"
7
7
  require "pokotarou/registration_config_maker/preset_option_setter.rb"
8
+ require "pokotarou/additional_variables/main.rb"
8
9
 
9
10
  module Pokotarou
10
11
  module RegistrationConfigMaker
12
+ class FailedGenerateConfigError < StandardError; end
11
13
  class Main
12
14
  class << self
13
- def gen all_content
15
+ def gen filepath
16
+ all_content = YAML.load_file(filepath).deep_symbolize_keys!
17
+ AdditionalVariables::Main.set_const(all_content)
14
18
  set_header_config(all_content)
15
19
  all_content.reduce({}) do |acc, block_content|
20
+
16
21
  block_name = block_content.first
17
22
  block_config = block_content.second
18
23
 
@@ -23,6 +28,7 @@ module Pokotarou
23
28
  end
24
29
 
25
30
  acc
31
+
26
32
  end
27
33
  end
28
34
 
@@ -50,12 +56,12 @@ module Pokotarou
50
56
  end
51
57
 
52
58
  def set_model_config_to_acc acc, block_content
53
- set_grouping_option(block_content.second)
54
- ModelOptionSetter.set(acc, block_content)
59
+ set_grouping_option(block_content.second)
60
+ ModelOptionSetter.set(acc, block_content)
55
61
  end
56
62
 
57
63
  def set_grouping_option block_content
58
- block_content.each do |_, model_content|
64
+ block_content.each do |model_name, model_content|
59
65
  GroupingOptionSetter.set(model_content) if ConfigDomain.has_grouping_syntax?(model_content)
60
66
  end
61
67
  end
@@ -1,5 +1,7 @@
1
1
  module Pokotarou
2
2
  module RegistrationConfigMaker
3
+ class UnexistsModelError < StandardError; end
4
+ class UnexistsModelConfigError < StandardError; end
3
5
  class ModelOptionSetter
4
6
  class << self
5
7
  def set acc, block_content
@@ -18,31 +20,76 @@ module Pokotarou
18
20
  private
19
21
 
20
22
  def set_column_type model_config, model_name
21
- model = eval(model_name.to_s)
22
- foreign_key_data = get_foreign_key_data(model)
23
+ begin
24
+ model = eval_model(model_name)
25
+ foreign_key_data = get_foreign_key_data(model)
26
+
27
+ if model_config.nil?
28
+ raise UnexistsModelConfigError.new("Unexists model config")
29
+ end
23
30
 
24
- model_config[:col] ||= {}
25
- model.columns.each do |e|
26
- symbol_col_name = e.name.to_sym
31
+ model_config[:col] ||= {}
32
+ model.columns.each do |e|
33
+ symbol_col_name = e.name.to_sym
27
34
 
28
- next if ConfigDomain.has_seed_data_syntax?(model_config[:col], symbol_col_name)
35
+ next if ConfigDomain.has_seed_data_syntax?(model_config[:col], symbol_col_name)
29
36
 
30
- # set foreign_key info
31
- if ColumnDomain.is_foreign_key?(symbol_col_name, foreign_key_data)
32
- # don't set :type val for don't run default seeder
33
- # use F function for set foreign key
34
- model_config[:col][symbol_col_name] = "F|#{foreign_key_data[symbol_col_name].to_s}"
35
- else
36
- model_config[:type] ||= {}
37
- model_config[:type][symbol_col_name] = e.type.to_s
38
- end
37
+ # set foreign_key info
38
+ if ColumnDomain.is_foreign_key?(symbol_col_name, foreign_key_data)
39
+ # don't set :type val for don't run default seeder
40
+ # use F function for set foreign key
41
+ model_config[:col][symbol_col_name] = "F|#{foreign_key_data[symbol_col_name].to_s}"
42
+ else
43
+ model_config[:type] ||= {}
44
+ model_config[:type][symbol_col_name] = e.type.to_s
45
+ end
39
46
 
40
- # set enum info
41
- model_config[:enum] ||= {}
42
- if ColumnDomain.is_enum?(e.sql_type.to_s)
43
- model_config[:enum][symbol_col_name] = e.sql_type.to_s[5..-2].tr("'", "").split(",")
44
- end
47
+ # set enum info
48
+ model_config[:enum] ||= {}
49
+ if ColumnDomain.is_enum?(e.sql_type.to_s)
50
+ model_config[:enum][symbol_col_name] = e.sql_type.to_s[5..-2].tr("'", "").split(",")
51
+ end
45
52
 
53
+ end
54
+ rescue UnexistsModelError => e
55
+ print "\e[31m"
56
+ puts "[ERROR]"
57
+ puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
58
+ puts "MESSAGE: Unexists Model #{model_name.to_s}"
59
+ puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
60
+ print "\e[0m"
61
+ puts ""
62
+
63
+ raise e
64
+ rescue UnexistsModelConfigError => e
65
+ print "\e[31m"
66
+ puts "[ERROR]"
67
+ puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
68
+ puts "MESSAGE: Unexists model config #{model_name.to_s}"
69
+ puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
70
+ print "\e[0m"
71
+ puts ""
72
+
73
+ raise e
74
+ rescue => e
75
+ print "\e[31m"
76
+ puts "[ERROR]"
77
+ puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
78
+ puts "MESSAGE: This model config is broken"
79
+ puts " #{e}"
80
+ puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
81
+ print "\e[0m"
82
+ puts ""
83
+
84
+ raise e
85
+ end
86
+ end
87
+
88
+ def eval_model model_name
89
+ begin
90
+ eval(model_name.to_s)
91
+ rescue
92
+ raise UnexistsModelError.new("Unexists Model #{model_name.to_s} ")
46
93
  end
47
94
  end
48
95
 
@@ -1,40 +1,68 @@
1
1
  require "pokotarou/registration_config_maker/config_domain.rb"
2
2
  module Pokotarou
3
3
  module RegistrationConfigMaker
4
+ class PresetError < StandardError; end
4
5
  class PresetOptionSetter
5
6
  class << self
6
7
  def set all_content
7
- preset_content = {}
8
-
8
+ new_preset_config = {}
9
+ preset_path = []
9
10
  all_content[:"preset_path'"].each do |path|
10
11
  YAML.load_file(path).deep_symbolize_keys!.each do |preset|
11
- preset_content[preset.first] = preset.second
12
+ if :"preset_path'" == preset.first
13
+ preset_path.concat(preset.second)
14
+ else
15
+ new_preset_config[preset.first] = preset.second
16
+ end
12
17
  end
13
18
  end
14
19
 
15
- # 使用済みのKeyなので削除
20
+ # preset_pathを更新
16
21
  all_content.delete(:"preset_path'")
17
-
22
+ if preset_path.size != 0
23
+ preset_path.uniq!
24
+ all_content[:"preset_path'"] = preset_path
25
+ end
26
+
18
27
  # hashの順番を更新するために一度全てのKeyを消す
19
- tmp = {}
28
+ copy_config = {}
20
29
  all_content.each do |config|
21
30
  key = config.first
22
31
  value = config.second
23
- tmp[key] = value
32
+ copy_config[key] = value
24
33
 
25
34
  all_content.delete(key)
26
35
  end
27
36
 
28
37
  # presetを先に展開する必要があるので、再代入して順番を変更する
29
- merge(all_content, preset_content)
30
- merge(all_content, tmp)
38
+ merge(all_content, new_preset_config)
39
+ merge(all_content, copy_config)
40
+
41
+ # presetを展開してpresetが入っていた場合には再度展開する
42
+ if all_content.has_key?(:"preset_path'")
43
+ set(all_content)
44
+ end
45
+
46
+ all_content
31
47
  end
32
48
 
33
49
  private
50
+
34
51
  def merge all_content, merge_hash
35
52
  merge_hash.each do |config|
36
53
  key = config.first
37
54
  value = config.second
55
+ if(all_content.has_key?(key))
56
+ print "\e[31m"
57
+ puts "[ERROR]"
58
+ puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
59
+ puts "BLOCK: #{key}"
60
+ puts "MESSAGE: Block name conflict has occurred"
61
+ puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
62
+ print "\e[0m"
63
+ puts ""
64
+ raise PresetError.new("Block name [ #{key} ] conflict has occurred")
65
+ end
38
66
  all_content[key] = value
39
67
  end
40
68
  end
@@ -4,8 +4,7 @@ module Pokotarou
4
4
  module ArrayUtils
5
5
  # return rotated val in passed array
6
6
  def get_rotated_val array, size, cnt
7
- raise NothingDataError.new("Nothing seed data") if array.nil?
8
- raise NothingDataError.new("Seed data is empty") if size.zero?
7
+ raise NothingDataError.new("Seed data is empty") if array.nil? || size.zero?
9
8
  x = (size + cnt) / size
10
9
 
11
10
  array[ size + cnt - size * x ]
@@ -8,6 +8,7 @@ require "pokotarou/parser/return_expression_parser..rb"
8
8
 
9
9
  module Pokotarou
10
10
  module RegistrationConfigUpdater
11
+ class SeedError < StandardError; end
11
12
  class Main
12
13
  class << self
13
14
  include ArrayUtils
@@ -98,12 +99,11 @@ module Pokotarou
98
99
  update_maked_data(maked, sym_block, sym_model, key, seeds )
99
100
  update_maked_col(maked_col, sym_model, key, config_data[:col][key])
100
101
  config_data[:col][key] = seeds
101
-
102
+
102
103
  rescue => e
103
104
  print "\e[31m"
104
- puts "[Pokotarou ERROR]"
105
+ puts "[ERROR]"
105
106
  puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
106
- puts "Failed Generating seed"
107
107
  puts "BLOCK: #{sym_block}"
108
108
  puts "MODEL: #{sym_model}"
109
109
  puts "COLUMN: #{key}"
@@ -112,7 +112,7 @@ module Pokotarou
112
112
  print "\e[0m"
113
113
  puts ""
114
114
 
115
- raise SeedError.new
115
+ raise SeedError.new("Failed generate seed data")
116
116
  end
117
117
  end
118
118
 
@@ -4,8 +4,6 @@ require "pokotarou/registration_config_updater/main.rb"
4
4
  module Pokotarou
5
5
  module SeedDataRegister
6
6
  class Main
7
- class RegisterError < StandardError; end
8
- class SeedError < StandardError; end
9
7
 
10
8
  class << self
11
9
  def register data
@@ -21,7 +19,7 @@ module Pokotarou
21
19
  register_val_by_bulk(sym_block, model_data, maked, model_cache, maked_col)
22
20
  end
23
21
  rescue => e
24
- raise StandardError.new("#{e.message}")
22
+ raise e
25
23
  end
26
24
  end
27
25
 
@@ -39,18 +37,7 @@ module Pokotarou
39
37
  output_log(model_config[:log])
40
38
  insert_record(block_name_sym, model_name, model_config ,model_cache)
41
39
  rescue => e
42
- print "\e[31m"
43
- puts "[Pokotarou ERROR]"
44
- puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
45
- puts "Failed Register record"
46
- puts "BLOCK: #{block_name_sym}"
47
- puts "MODEL: #{model_name}"
48
- puts "MESSAGE: #{e.message}"
49
- puts "+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
50
- print "\e[0m"
51
- puts ""
52
-
53
- raise RegisterError.new
40
+ raise e
54
41
  end
55
42
  end
56
43
  end
@@ -1,3 +1,3 @@
1
1
  module Pokotarou
2
- VERSION = '1.2.2'
2
+ VERSION = '1.2.3'
3
3
  end
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.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kashiwara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-03 00:00:00.000000000 Z
11
+ date: 2021-05-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -52,6 +52,9 @@ files:
52
52
  - lib/pokotarou/additional_arguments/main.rb
53
53
  - lib/pokotarou/additional_methods/main.rb
54
54
  - lib/pokotarou/additional_variables/main.rb
55
+ - lib/pokotarou/handler.rb
56
+ - lib/pokotarou/handler_factory.rb
57
+ - lib/pokotarou/operator.rb
55
58
  - lib/pokotarou/p_tool.rb
56
59
  - lib/pokotarou/parser/const_parser.rb
57
60
  - lib/pokotarou/parser/loop_expression_parser.rb
@@ -94,7 +97,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
94
97
  - !ruby/object:Gem::Version
95
98
  version: '0'
96
99
  requirements: []
97
- rubygems_version: 3.0.1
100
+ rubygems_version: 3.0.3.1
98
101
  signing_key:
99
102
  specification_version: 4
100
103
  summary: This gem is seeder which is very usefull