Exception: Metasploit::Concern::Error::EagerLoad

Inherits:
Base
  • Object
show all
Defined in:
lib/metasploit/concern/error/eager_load.rb

Overview

Exception raised when a ‘Rails::Engine` has left its `’app/concerns’‘ path as `eager_load: true`

Instance Method Summary collapse

Constructor Details

#initialize(engine) ⇒ EagerLoad

Returns a new instance of EagerLoad.

Parameters:

  • engine (Rails::Engine)

    ‘Rails::Engine` where `engine.paths.eager_load?` is `true`.



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/metasploit/concern/error/eager_load.rb', line 4

def initialize(engine)
  @engine = engine
  engine_name = engine.class.name
  super(
      "#{engine_name}'s `app/concerns` is marked as `eager_load: true`.  This will cause circular dependency " \
      "errors when the concerns are loaded.  Declare `app/concerns` to stop it from inheriting `eager_load: true` " \
      "from `app`: \n" \
      "\n" \
      "  class #{engine_name} < Rails::Engine\n" \
      "    config.paths.add 'app/concerns', autoload: true\n" \
      "  end\n"
  )
end