robots.txt (close #37)
did
committed Mar 23, 2015
commit c5592b42649bbcdde6085272d715cafead68ec8d
Showing 4
changed files with
29 additions
and 0 deletions
locomotive/steam/middlewares/robots.rb b/lib/locomotive/steam/middlewares/robots.rb
+20
-0
| @@ | @@ -0,0 +1,20 @@ |
| + | module Locomotive::Steam |
| + | module Middlewares |
| + | |
| + | class Robots < Struct.new(:app, :options) |
| + | |
| + | include Helpers |
| + | |
| + | def call(env) |
| + | if env['PATH_INFO'] == '/robots.txt' |
| + | site = env['steam.site'] |
| + | render_response(site[:robots_txt] || '', 200, 'text/plain') |
| + | else |
| + | app.call(env) |
| + | end |
| + | end |
| + | |
| + | end |
| + | |
| + | end |
| + | end |
locomotive/steam/server.rb b/lib/locomotive/steam/server.rb
+1
-0
| @@ | @@ -48,6 +48,7 @@ module Locomotive::Steam |
| Middlewares::DefaultEnv, | |
| Middlewares::Site, | |
| Middlewares::Logging, | |
| + | Middlewares::Robots, |
| Middlewares::Timezone, | |
| Middlewares::EntrySubmission, | |
| Middlewares::Locale, | |
spec/fixtures/default/config/site.yml
+3
-0
| @@ | @@ -12,4 +12,7 @@ seo_title: |
| meta_keywords: | |
| en: some meta keywords | |
| fr: quelques mots cles | |
| + | |
| meta_description: some meta description | |
| + | |
| + | robots_txt: "User-agent: *\nDisallow:" |
spec/integration/server/basic_spec.rb
+5
-0
| @@ | @@ -31,6 +31,11 @@ describe Locomotive::Steam::Server do |
| expect(last_response.body).to include 'Lorem ipsum dolor sit amet' | |
| end | |
| + | it 'responds to the /robots.txt url' do |
| + | get '/robots.txt' |
| + | expect(last_response.body).to include "User-agent: *\nDisallow:" |
| + | end |
| + | |
| describe 'redirection' do | |
| let(:url) { '/store' } | |