Module: Avo::InitializesAvo

Includes:
Concerns::SafeCall
Included in:
BaseApplicationController
Defined in:
app/controllers/concerns/avo/initializes_avo.rb

Instance Method Summary collapse

Methods included from Concerns::SafeCall

#safe_call

Instance Method Details

#_current_userObject



19
20
21
# File 'app/controllers/concerns/avo/initializes_avo.rb', line 19

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

#contextObject



23
24
25
# File 'app/controllers/concerns/avo/initializes_avo.rb', line 23

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

#init_appObject



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'app/controllers/concerns/avo/initializes_avo.rb', line 5

def init_app
  Avo::Current.context = context
  Avo::Current.user = _current_user
  Avo::Current.view_context = view_context
  safe_call(:before_init_app)
  Avo.init
  Avo::Current.locale = locale
  load_appearance_settings

  # Fire and forget HQ reporting
  request_info = {ip: request.ip, host: request.host, port: request.port}
  Thread.new { Avo::Services::HqReporter.report(request_info) }
end

#load_appearance_settingsObject



27
28
29
30
31
32
33
34
35
36
# File 'app/controllers/concerns/avo/initializes_avo.rb', line 27

def load_appearance_settings
  appearance = Avo.configuration.appearance

  return unless appearance.database_persistence? && appearance.load_settings_block.present?

  Avo::Current.appearance_settings = Avo::ExecutionContext.new(
    target: appearance.load_settings_block,
    current_user: _current_user
  ).handle
end