History

Add /docs.json route redirecting to the most recent doc manifest on the CDN

cc @trollixx

Thibaut committed 11 years ago

Commit 0c15e191 parent de717512 files · +14 −2Browse files

Unified · Split

2 files
  1. lib/app.rb +6 −2
  2. test/app_test.rb +8 −0
lib/app.rb+6−2
@@ -17,7 +17,7 @@ class App < Sinatra::Application · 16 unmodified lines
1717 set :assets_prefix, 'assets'
1818 set :assets_path, -> { File.join(public_folder, assets_prefix) }
1919 set :assets_manifest_path, -> { File.join(assets_path, 'manifest.json') }
20− set :assets_compile, %w(*.png docs.js application.js application.css application-dark.css)
20+ set :assets_compile, %w(*.png docs.js docs.json application.js application.css application-dark.css)
2121
2222 require 'yajl/json_gem'
2323 set :docs_prefix, 'docs'
@@ -64,7 +64,7 @@ class App < Sinatra::Application · 40 unmodified lines
6464 use Rack::Deflater
6565 use Rack::Static,
6666 root: 'public',
67− urls: %w(/assets /docs /images /favicon.ico /robots.txt /opensearch.xml /manifest.webapp),
67+ urls: %w(/assets /docs/ /images /favicon.ico /robots.txt /opensearch.xml /manifest.webapp),
6868 header_rules: [
6969 [:all, {'Cache-Control' => 'no-cache, max-age=0'}],
7070 ['/assets', {'Cache-Control' => 'public, max-age=604800'}],
@@ -171,6 +171,10 @@ class App < Sinatra::Application · 100 unmodified lines
171171 200
172172 end
173173
174+ get '/docs.json' do
175+ redirect asset_path('docs.json')
176+ end
177+
174178 get '/s/maxcdn' do
175179 redirect 'https://www.maxcdn.com/?utm_source=devdocs&utm_medium=banner&utm_campaign=devdocs'
176180 end
test/app_test.rb+8−0
@@ -173,6 +173,14 @@ class AppTest < MiniTest::Spec · 172 unmodified lines
173173 end
174174 end
175175
176+ describe "/docs.json" do
177+ it "returns to the asset path" do
178+ get '/docs.json'
179+ assert last_response.redirect?
180+ assert_equal 'http://example.org/assets/docs.json', last_response['Location']
181+ end
182+ end
183+
176184 describe "/feed" do
177185 it "returns an atom feed" do
178186 get '/feed'