From 30b8f2d772fabb619f8af7b87fb70188bc919a55 Mon Sep 17 00:00:00 2001 From: Sven Fuchs Date: Thu, 24 Mar 2016 12:53:57 +0100 Subject: [PATCH 1/2] unsmart requiring helpers --- Gemfile.lock | 3 --- lib/travis/api/app/helpers.rb | 13 ++++++------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 2dd61f90..7f9f612b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -388,6 +388,3 @@ DEPENDENCIES travis-yaml! unicorn yard-sinatra! - -BUNDLED WITH - 1.11.2 diff --git a/lib/travis/api/app/helpers.rb b/lib/travis/api/app/helpers.rb index e09bbd8f..9612a43b 100644 --- a/lib/travis/api/app/helpers.rb +++ b/lib/travis/api/app/helpers.rb @@ -1,8 +1,7 @@ require 'travis/api/app' - -class Travis::Api::App - # Namespace for helpers. - module Helpers - Dir.glob("#{__dir__}/helpers/*.rb").each { |f| require f[%r[(?<=lib/).+(?=\.rb$)]] } - end -end +require 'travis/api/app/helpers/accept' +require 'travis/api/app/helpers/current_user' +require 'travis/api/app/helpers/db_follower' +require 'travis/api/app/helpers/flash' +require 'travis/api/app/helpers/mime_types' +require 'travis/api/app/helpers/respond_with' From 75937e45ee6f86bcfbe515fa2654c2ff19cf9b0a Mon Sep 17 00:00:00 2001 From: Sven Fuchs Date: Thu, 24 Mar 2016 17:03:55 +0100 Subject: [PATCH 2/2] Remove load_endpoints, too --- lib/travis/api/app.rb | 8 ++------ lib/travis/api/app/base.rb | 4 +++- lib/travis/api/app/endpoint.rb | 23 ++++++++++++++++++++++- lib/travis/api/app/middleware.rb | 6 ++++++ 4 files changed, 33 insertions(+), 8 deletions(-) diff --git a/lib/travis/api/app.rb b/lib/travis/api/app.rb index 7fe1a6b7..624b3fc7 100644 --- a/lib/travis/api/app.rb +++ b/lib/travis/api/app.rb @@ -26,6 +26,8 @@ require 'metriks/reporter/logger' require 'metriks/librato_metrics_reporter' require 'travis/support/log_subscriber/active_record_metrics' require 'fileutils' +require 'travis/api/app/endpoint' +require 'travis/api/app/middleware' require 'travis/api/instruments' require 'travis/api/v2/http' require 'travis/api/v3' @@ -174,7 +176,6 @@ module Travis::Api def self.setup! setup_travis - load_endpoints setup_endpoints @setup = true end @@ -217,11 +218,6 @@ module Travis::Api Travis::Metrics.setup end - def self.load_endpoints - Dir.glob("#{__dir__}/app/middleware/*.rb").each { |f| require f[%r[(?<=lib/).+(?=\.rb$)]] } - Dir.glob("#{__dir__}/app/endpoint/*.rb").each { |f| require f[%r[(?<=lib/).+(?=\.rb$)]] } - end - def self.setup_endpoints Base.subclasses.each(&:setup) end diff --git a/lib/travis/api/app/base.rb b/lib/travis/api/app/base.rb index 1f5f4570..51e4e253 100644 --- a/lib/travis/api/app/base.rb +++ b/lib/travis/api/app/base.rb @@ -1,6 +1,8 @@ -require 'travis/api/app' require 'sinatra/base' require 'mustermann' +require 'travis/api/app' +require 'travis/api/app/extensions' +require 'travis/api/app/helpers' class Travis::Api::App # Superclass for any endpoint and middleware. diff --git a/lib/travis/api/app/endpoint.rb b/lib/travis/api/app/endpoint.rb index c4ef62f1..29323b3c 100644 --- a/lib/travis/api/app/endpoint.rb +++ b/lib/travis/api/app/endpoint.rb @@ -1,6 +1,7 @@ -require 'travis/api/app' require 'addressable/uri' require 'active_record/base' +require 'travis/api/app' +require 'travis/api/app/base' class Travis::Api::App # Superclass for HTTP endpoints. Takes care of prefixing. @@ -48,3 +49,23 @@ class Travis::Api::App end end end + +require 'travis/api/app/endpoint/accounts' +require 'travis/api/app/endpoint/authorization' +require 'travis/api/app/endpoint/branches' +require 'travis/api/app/endpoint/broadcasts' +require 'travis/api/app/endpoint/builds' +require 'travis/api/app/endpoint/documentation' +require 'travis/api/app/endpoint/endpoints' +require 'travis/api/app/endpoint/env_vars' +require 'travis/api/app/endpoint/home' +require 'travis/api/app/endpoint/hooks' +require 'travis/api/app/endpoint/jobs' +require 'travis/api/app/endpoint/lint' +require 'travis/api/app/endpoint/logs' +require 'travis/api/app/endpoint/repos' +require 'travis/api/app/endpoint/requests' +require 'travis/api/app/endpoint/setting_endpoint' +require 'travis/api/app/endpoint/singleton_settings_endpoint' +require 'travis/api/app/endpoint/uptime' +require 'travis/api/app/endpoint/users' diff --git a/lib/travis/api/app/middleware.rb b/lib/travis/api/app/middleware.rb index 619db9d6..8cdde661 100644 --- a/lib/travis/api/app/middleware.rb +++ b/lib/travis/api/app/middleware.rb @@ -3,5 +3,11 @@ require 'travis/api/app' class Travis::Api::App # Superclass for all middleware. class Middleware < Base + require 'travis/api/app/middleware/logging' + require 'travis/api/app/middleware/metriks' + require 'travis/api/app/middleware/rewrite' + require 'travis/api/app/middleware/scope_check' + require 'travis/api/app/middleware/skylight' + require 'travis/api/app/middleware/user_agent_tracker' end end