cypher-rack-dickbarblocker 0.2.1 → 0.2.2

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.
data/README.markdown CHANGED
@@ -1,6 +1,6 @@
1
1
  # rack-dickbarblocker
2
2
 
3
- A Rack middleware that displays a special page when the DiggBar is used.
3
+ A Rack middleware that displays a special page to anyone using the DiggBar.
4
4
 
5
5
  Hat-tip to [rue](http://github.com/rue) for suggesting the name.
6
6
 
@@ -31,7 +31,7 @@ Hat-tip to [rue](http://github.com/rue) for suggesting the name.
31
31
  # rest of your config
32
32
  end
33
33
 
34
- By default, it shows the following text (sans markup):
34
+ By default, it shows the following text, taken from John Grubers page (sans markup):
35
35
 
36
36
  > Dear Digg,
37
37
  > Framing sites is bullshit.
@@ -59,9 +59,8 @@ You can override this by supplying the middleware with a block that returns what
59
59
 
60
60
  This would return an HTML page with "Kittens are fun!" on it instead.
61
61
 
62
- DickBarBlocker expects the return value of the body to respond to `to_s`.
63
- It also currently hardcodes the content type to `text/html`, so your response should
64
- be HTML.
62
+ DickBarBlocker expects the return value of the block to respond to `to_s`.
63
+ It also currently hardcodes the content type to `text/html`, so your return value should also be (or generate) HTML.
65
64
 
66
65
  ## Copyright
67
66
 
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
2
  :major: 0
3
3
  :minor: 2
4
- :patch: 1
4
+ :patch: 2
@@ -12,7 +12,7 @@ module Rack
12
12
  def call(env)
13
13
  referrer = env['HTTP_REFERER']
14
14
  # Regex courtesy of John Gruber: http://daringfireball.net/2009/04/how_to_block_the_diggbar
15
- if referrer && referrer =~ %r{http://digg.com/\w{1,8}/*(\?.*)?$}
15
+ if referrer && referrer =~ %r{http://(?:www\.)?digg.com/\w{1,8}/*(\?.*)?$}
16
16
  if @block
17
17
  body = @block.call.to_s
18
18
  else
@@ -25,6 +25,15 @@ context "Rack::Contrib::DickBarBlocker" do
25
25
  body.should =~ %r{Dear Digg,<br>\s+Framing sites is bullshit\.<br>\s+<br>\s+Your pal,<br>\s+—J.G.}mi
26
26
  end
27
27
 
28
+ specify "works also with a www.digg.com referrer" do
29
+ status, headers, body = Rack::Contrib::DickBarBlocker.new(app, 'J.G.').call({'HTTP_REFERER' => 'http://www.digg.com/d1oNOZ'})
30
+
31
+ status.should.equal 200
32
+ headers['Content-Type'].should.equal 'text/html'
33
+ body.should =~ %r{<title>Don't be a dick, say no to the DiggBar</title>}i
34
+ body.should =~ %r{Dear Digg,<br>\s+Framing sites is bullshit\.<br>\s+<br>\s+Your pal,<br>\s+—J.G.}mi
35
+ end
36
+
28
37
  specify "uses the given name" do
29
38
  name = "test name"
30
39
  status, headers, body = Rack::Contrib::DickBarBlocker.new(app, name).call({'HTTP_REFERER' => 'http://digg.com/d1oNOZ'})
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cypher-rack-dickbarblocker
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Prinz