Module: ForestAdminRpcAgent::Extensions::SinatraExtension

Defined in:
lib/forest_admin_rpc_agent/extensions/sinatra_extension.rb

Class Method Summary collapse

Class Method Details

.registered(app) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/forest_admin_rpc_agent/extensions/sinatra_extension.rb', line 6

def self.registered(app)
  app.before do
    agent = ForestAdminRpcAgent::Agent.instance
    agent.setup(ForestAdminRpcAgent.config)
    ForestAdminRpcAgent::Extensions::ConfigLoader.load_configuration
  end

  app.use ForestAdminRpcAgent::Middleware::Authentication

  route_classes = ForestAdminRpcAgent::Routes.constants.reject { |route| route.name == 'BaseRoute' }
  route_classes.each do |route|
    route_class = ForestAdminRpcAgent::Routes.const_get(route)

    if route_class.respond_to?(:registered)
      puts "Registering #{route_class}"
      route_class.registered(app)
    else
      ForestAdminAgent::Facades::Container.logger.log('warn',
                                                      "Skipping #{route_class} (does not respond to :registered)")
    end
  end
end