rack-robots 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. data/README.md +27 -0
  2. data/lib/rack/robots.rb +25 -0
  3. metadata +47 -0
data/README.md ADDED
@@ -0,0 +1,27 @@
1
+ rack-robots
2
+ ===========
3
+
4
+ Rack middleware that denies all robots for staging and development environments.
5
+
6
+ Usage
7
+ -----
8
+
9
+ Flag your staging and development environments:
10
+
11
+ ``` bash
12
+ export DISABLE_ROBOTS=true
13
+ ```
14
+
15
+ In a `config.ru` or equivalent:
16
+
17
+ ``` ruby
18
+ use Rack::Instruments
19
+ run Sinatra::Application
20
+ ```
21
+
22
+ Testing
23
+ -------
24
+
25
+ ``` bash
26
+ rake test
27
+ ```
@@ -0,0 +1,25 @@
1
+ module Rack
2
+ class Robots
3
+ def initialize(app)
4
+ @app = app
5
+ end
6
+
7
+ def call(env)
8
+ if env["REQUEST_PATH"] == "/robots.txt"
9
+ status, body = if %w{1 true}.include?(ENV["DISABLE_ROBOTS"])
10
+ [200, <<-eos]
11
+ # this is a staging environment. please index the main site instead.
12
+ User-agent: *
13
+ Disallow: /
14
+ eos
15
+ else
16
+ [404, "Not found"]
17
+ end
18
+ [status, { 'Content-Length' => body.length,
19
+ 'Content-Type' => 'text/plain' }, body]
20
+ else
21
+ @app.call(env)
22
+ end
23
+ end
24
+ end
25
+ end
metadata ADDED
@@ -0,0 +1,47 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rack-robots
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Brandur
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2012-07-18 00:00:00.000000000 Z
13
+ dependencies: []
14
+ description:
15
+ email: brandur@mutelight.org
16
+ executables: []
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - README.md
21
+ - lib/rack/robots.rb
22
+ homepage: https://github.com/brandur/rack-robots
23
+ licenses:
24
+ - MIT
25
+ post_install_message:
26
+ rdoc_options: []
27
+ require_paths:
28
+ - lib
29
+ required_ruby_version: !ruby/object:Gem::Requirement
30
+ none: false
31
+ requirements:
32
+ - - ! '>='
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ required_rubygems_version: !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ requirements: []
42
+ rubyforge_project:
43
+ rubygems_version: 1.8.23
44
+ signing_key:
45
+ specification_version: 3
46
+ summary: Rack middleware that denies all robots for staging and development environments.
47
+ test_files: []