pokotarou 1.1.9 → 1.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a3b008cbcb0ba3e353b7211ea37fd527cce5755ec8fd849468f8a0344d7821f7
4
- data.tar.gz: f91024c92ff088d12152fd95d544a2566146481ec703c1125dc3b72fceacd768
3
+ metadata.gz: 0313ae9034a4b9ed1a64829a7d16a1811df5da6937f5639a8e3700a7c658a211
4
+ data.tar.gz: b7b90ac0f1fd81f2fb11e015ee0cfd6b8b38544f4e0ed272ee1a834dc05cf340
5
5
  SHA512:
6
- metadata.gz: 9f81cc482686a8b858408cd2e9abe3c545f9de99cb3acaea6a243d45909eb5f3bf37b11fdb595aa08d9563009d77a068572cf792ce1eb98a73e3dac820bc4148
7
- data.tar.gz: 18194fb1c96afe3951ed3f2c055c022c9f5670a801a7708ceeef34f074ad8333bf6ccafa3e1705f10ea34e66b6b12cb603824495423628606a64badb40facfe9
6
+ metadata.gz: 79b8112bd089213e28269d6cced5a1cc4157453079a3502218d4afecc01864393a6aab6dad7dc238dd257c8b47e0ba53c0fface455e2f32fa590bab8fa6fda02
7
+ data.tar.gz: 27462bd7caa6e7173a623fdbabaa406141a6cbd80618c70e7581355f2521d3921b75b0225f1503b3236aad45efab3645b8505b92033cabd21163c93ea9102028
@@ -5,108 +5,190 @@ end
5
5
  require "activerecord-import"
6
6
 
7
7
  module Pokotarou
8
- class NotFoundLoader < StandardError; end
9
-
10
- class << self
11
- def execute input
12
- init_proc()
13
-
14
- # if input is filepath, generate config_data
15
- return_val =
16
- if input.kind_of?(String)
17
- DataRegister.register(gen_config(input))
18
- else
19
- DataRegister.register(input)
20
- end
21
-
22
- AdditionalMethods.remove_filepathes_from_yml()
23
-
24
- return_val
25
- end
26
-
27
- def pipeline_execute input_arr
28
- init_proc()
29
-
30
- return_vals = []
31
- input_arr.each do |e|
32
- handler = gen_handler_with_cache(e[:filepath])
33
-
34
- if e[:change_data].present?
35
- e[:change_data].each do |block, config|
36
- config.each do |model, seed|
37
- seed.each do |col_name, val|
38
- handler.change_seed(block, model, col_name, val)
8
+ class Operater
9
+ class NotFoundLoader < StandardError; end
10
+ class << self
11
+ def execute input
12
+ init_proc()
13
+
14
+ # if input is filepath, generate config_data
15
+ return_val =
16
+ if input.kind_of?(String)
17
+ DataRegister.register(gen_config(input))
18
+ else
19
+ DataRegister.register(input)
20
+ end
21
+
22
+ AdditionalMethods.remove_filepathes_from_yml()
23
+
24
+ return_val
25
+ end
26
+
27
+ def pipeline_execute input_arr
28
+ init_proc()
29
+
30
+ return_vals = []
31
+ input_arr.each do |e|
32
+ handler = gen_handler_with_cache(e[:filepath])
33
+
34
+ if e[:change_data].present?
35
+ e[:change_data].each do |block, config|
36
+ config.each do |model, seed|
37
+ seed.each do |col_name, val|
38
+ handler.change_seed(block, model, col_name, val)
39
+ end
39
40
  end
40
41
  end
41
42
  end
43
+
44
+ e[:args] ||= {}
45
+ e[:args][:passed_return_val] = return_vals.last
46
+ set_args(e[:args])
47
+
48
+ return_vals << Pokotarou.execute(handler.get_data())
49
+ AdditionalMethods.remove_filepathes_from_yml()
42
50
  end
43
-
44
- e[:args] ||= {}
45
- e[:args][:passed_return_val] = return_vals.last
46
- set_args(e[:args])
47
-
48
- return_vals << Pokotarou.execute(handler.get_data())
49
- AdditionalMethods.remove_filepathes_from_yml()
51
+
52
+ return_vals
53
+ end
54
+
55
+ def import filepath
56
+ init_proc()
57
+
58
+ AdditionalMethods.import(filepath)
59
+ end
60
+
61
+ def set_args hash
62
+ Arguments.import(hash)
63
+ end
64
+
65
+ def reset
66
+ AdditionalMethods.remove()
67
+ Arguments.remove()
68
+ AdditionalVariables.remove()
69
+ @handler_chache = {}
70
+ end
71
+
72
+ def gen_handler filepath
73
+ init_proc()
74
+
75
+ PokotarouHandler.new(gen_config(filepath))
76
+ end
77
+
78
+ def gen_handler_with_cache filepath
79
+ init_proc()
80
+
81
+ @handler_cache ||= {}
82
+ @handler_cache[filepath] ||= PokotarouHandler.new(gen_config(filepath))
83
+
84
+ @handler_cache[filepath].deep_dup
85
+ end
86
+
87
+ private
88
+ def init_proc
89
+ AdditionalMethods.init()
50
90
  end
91
+
92
+ def gen_config filepath
93
+ contents = load_file(filepath)
94
+ set_const_val_config(contents)
95
+ DataStructure.gen(contents)
96
+ end
97
+
98
+ def set_const_val_config contents
99
+ AdditionalVariables.set_const(contents)
100
+ end
101
+
102
+ def load_file filepath
103
+ case File.extname(filepath)
104
+ when ".yml"
105
+ return YmlLoader.load(filepath)
106
+ else
107
+ raise NotFoundLoader.new("not found loader")
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
51
113
 
52
- return_vals
114
+ module Pokotarou
115
+ class << self
116
+ def execute input
117
+ Operater.execute(input)
53
118
  end
54
119
 
55
- def import filepath
56
- init_proc()
120
+ def pipeline_execute input_arr
121
+ Operater.pipeline_execute(input_arr)
122
+ end
57
123
 
58
- AdditionalMethods.import(filepath)
124
+ def import filepath
125
+ Operater.import(filepath)
59
126
  end
60
127
 
61
128
  def set_args hash
62
- Arguments.import(hash)
129
+ Operater.set_args(hash)
63
130
  end
64
131
 
65
132
  def reset
66
- AdditionalMethods.remove()
67
- Arguments.remove()
68
- AdditionalVariables.remove()
69
- @handler_chache = {}
133
+ Operater.reset()
70
134
  end
71
135
 
72
136
  def gen_handler filepath
73
- init_proc()
74
-
75
- PokotarouHandler.new(gen_config(filepath))
137
+ Operater.gen_handler(filepath)
76
138
  end
77
139
 
78
140
  def gen_handler_with_cache filepath
79
- init_proc()
141
+ Operater.gen_handler_with_cache(filepath)
142
+ end
143
+ end
144
+ end
80
145
 
81
- @handler_cache ||= {}
82
- @handler_cache[filepath] ||= PokotarouHandler.new(gen_config(filepath))
146
+ class PokotarouHandler
147
+ def initialize data
148
+ @data = data
149
+ end
83
150
 
84
- @handler_cache[filepath].deep_dup
85
- end
151
+ def make
152
+ ::Pokotarou::Operater.execute(get_data())
153
+ end
86
154
 
87
- private
88
- def init_proc
89
- AdditionalMethods.init()
90
- end
155
+ def delete_block sym_block
156
+ @data.delete(sym_block)
157
+ end
91
158
 
92
- def gen_config filepath
93
- contents = load_file(filepath)
94
- set_const_val_config(contents)
95
- DataStructure.gen(contents)
96
- end
159
+ def delete_model sym_block, sym_class
160
+ @data[sym_block].delete(sym_class)
161
+ end
97
162
 
98
- def set_const_val_config contents
99
- AdditionalVariables.set_const(contents)
100
- end
163
+ def delete_col sym_block, sym_class, sym_col
164
+ exists_content = ->(key){ @data[sym_block][sym_class][key].present? }
101
165
 
102
- def load_file filepath
103
- case File.extname(filepath)
104
- when ".yml"
105
- return YmlLoader.load(filepath)
106
- else
107
- raise NotFoundLoader.new("not found loader")
108
- end
109
- end
166
+ @data[sym_block][sym_class][:col].delete(sym_col) if exists_content.call(:col)
167
+ @data[sym_block][sym_class][:option].delete(sym_col) if exists_content.call(:option)
168
+ @data[sym_block][sym_class][:convert].delete(sym_col) if exists_content.call(:convert)
169
+ end
110
170
 
171
+ def change_loop sym_block, sym_class, n
172
+ @data[sym_block][sym_class][:loop] = n
111
173
  end
112
- end
174
+
175
+ def change_seed sym_block, sym_class, sym_col, arr
176
+ @data[sym_block][sym_class][:col][sym_col] = arr
177
+ end
178
+
179
+ def get_data
180
+ @data.deep_dup
181
+ end
182
+
183
+ def set_data data
184
+ @data = data
185
+ end
186
+
187
+ def set_randomincrement sym_block, sym_class, status
188
+ @data[sym_block][sym_class][:randomincrement] = status
189
+ end
190
+
191
+ def set_autoincrement sym_block, sym_class, status
192
+ @data[sym_block][sym_class][:autoincrement] = status
193
+ end
194
+ end
@@ -171,20 +171,23 @@ class DataRegister
171
171
  end
172
172
 
173
173
  def set_autoincrement config_data, model, loop_size, prev_id_arr
174
- last_record = model.last
174
+ max_id = model.maximum(:id)
175
+
175
176
  current_id =
176
177
  if prev_id_arr.present?
177
178
  prev_id_arr.last
178
- elsif last_record.nil?
179
+ elsif max_id.nil?
179
180
  0
180
181
  else
181
- last_record.id
182
+ max_id
182
183
  end
183
184
 
184
185
  additions = current_id + loop_size
185
186
  next_id = current_id + 1
186
187
 
187
- config_data[:col][:id] = [*next_id..additions]
188
+ ids = [*next_id..additions]
189
+ ids.shuffle! if config_data[:randomincrement]
190
+ config_data[:col][:id] = ids
188
191
  end
189
192
 
190
193
  def set_expand_expression config_data, key, val, maked, maked_col
@@ -1,3 +1,3 @@
1
1
  module Pokotarou
2
- VERSION = '1.1.9'
2
+ VERSION = '1.2.0'
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.1.9
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kashiwara
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-05-22 00:00:00.000000000 Z
11
+ date: 2020-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -62,7 +62,6 @@ files:
62
62
  - lib/pokotarou/file_loader.rb
63
63
  - lib/pokotarou/option.rb
64
64
  - lib/pokotarou/p_tool.rb
65
- - lib/pokotarou/pokotarou_handler.rb
66
65
  - lib/pokotarou/seeder.rb
67
66
  - lib/pokotarou/version.rb
68
67
  - lib/tasks/pokotarou_tasks.rake
@@ -1,37 +0,0 @@
1
- class PokotarouHandler
2
- def initialize data
3
- @data = data
4
- end
5
-
6
- def delete_block sym_block
7
- @data.delete(sym_block)
8
- end
9
-
10
- def delete_model sym_block, sym_class
11
- @data[sym_block].delete(sym_class)
12
- end
13
-
14
- def delete_col sym_block, sym_class, sym_col
15
- exists_content = ->(key){ @data[sym_block][sym_class][key].present? }
16
-
17
- @data[sym_block][sym_class][:col].delete(sym_col) if exists_content.call(:col)
18
- @data[sym_block][sym_class][:option].delete(sym_col) if exists_content.call(:option)
19
- @data[sym_block][sym_class][:convert].delete(sym_col) if exists_content.call(:convert)
20
- end
21
-
22
- def change_loop sym_block, sym_class, n
23
- @data[sym_block][sym_class][:loop] = n
24
- end
25
-
26
- def change_seed sym_block, sym_class, sym_col, arr
27
- @data[sym_block][sym_class][:col][sym_col] = arr
28
- end
29
-
30
- def get_data
31
- @data.deep_dup
32
- end
33
-
34
- def set_data data
35
- @data = data
36
- end
37
- end