Merge pull request from travis-ci/sf-unsmart-helpers

Unsmart helpers, middlewares, and endpoints
This commit is contained in:
carlad 2016-03-24 17:41:10 +01:00
commit a466f0c819
6 changed files with 39 additions and 18 deletions

View File

@ -388,6 +388,3 @@ DEPENDENCIES
travis-yaml!
unicorn
yard-sinatra!
BUNDLED WITH
1.11.2

View File

@ -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

View File

@ -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.

View File

@ -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'

View File

@ -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'

View File

@ -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