Class: Pokotarou::SeedDataRegister::Main

Inherits:
Object
  • Object
show all
Defined in:
lib/pokotarou/seed_data_register/main.rb

Defined Under Namespace

Classes: RegisterError, SeedError

Class Method Summary collapse

Class Method Details

.register(data) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/pokotarou/seed_data_register/main.rb', line 11

def register data
  # init maked to accumulate maded data
  maked = Hash.new { |h,k| h[k] = Hash.new(&h.default_proc) }
  maked_col = Hash.new { |h,k| h[k] = {} }
  # init model_data to cache data of model
  model_cache = {}
  ActiveRecord::Base.transaction do
    begin
      data.each do |sym_block, model_data|
        next if is_dush?(sym_block.to_s)
        register_val_by_bulk(sym_block, model_data, maked, model_cache, maked_col)
      end
    rescue => e
      raise StandardError.new("#{e.message}")
    end
  end
      
  ReturnExpressionParser.parse(data[:"return'"], maked, maked_col)
end