module Avo::InitializesAvo

def _current_user

def _current_user
  instance_eval(&Avo.configuration.current_user)
end

def context

def context
  instance_eval(&Avo.configuration.context)
end

def init_app

def init_app
  Avo::Current.license = Avo::Licensing::NullLicense.new
  Avo::Current.context = context
  Avo::Current.current_user = _current_user
  Avo::Current.view_context = view_context
  Avo::Current.app = Avo::App.build request: request, context: context, current_user: _current_user, view_context: view_context
  Avo::Current.app.init
  Avo::Current.license = Licensing::LicenseManager.new(Licensing::HQ.new(request).response).license
  Avo.plugin_manager.init_plugins
  @license = Avo::App.license
end