module CmAdmin

def config

def config
  @config ||= Configuration.new
end

def configure(&block)

def configure(&block)
  # instance_eval(&block)
  @config ||= Configuration.new
  yield(@config)
end

def initialize_model(entity, &block)

def initialize_model(entity, &block)
  if entity.is_a?(Class)
    return if CmAdmin::Model.find_by({name: entity.name})
    config.cm_admin_models << CmAdmin::Model.new(entity, &block)
  end
end

def layout

def layout
end

def webpacker

def webpacker
  @webpacker ||= ::Webpacker::Instance.new(
    root_path: CmAdmin::Engine.root,
    config_path: CmAdmin::Engine.root.join('config', 'webpacker.yml')
  )
end