travis-web/lib/travis/web/app/api.rb

30 lines
497 B
Ruby

require 'travis/api/app'
class Travis::Web::App
class Api
include Helpers
attr_reader :app, :api, :config
def initialize(app, config)
@app = app
@api = Travis::Api::App.new
@config = config
end
def call(env)
if matches?(env['PATH_INFO'])
api.call(map_env(env, config.api_endpoint))
else
app.call(env)
end
end
private
def matches?(path)
path.starts_with?(config.api_endpoint)
end
end
end