mikehale-akismet 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :minor: 0
3
- :patch: 4
2
+ :minor: 1
3
+ :patch: 0
4
4
  :major: 0
data/lib/akismet.rb CHANGED
@@ -23,10 +23,12 @@ class Akismet
23
23
 
24
24
  case response.body
25
25
  when "invalid"
26
- raise Akismet::VerifyException, response.to_hash["x-akismet-debug-help"], caller
26
+ raise Akismet::VerifyError, response.to_hash["x-akismet-debug-help"], caller
27
27
  when "valid"
28
28
  true
29
29
  end
30
+ rescue SocketError => e
31
+ raise Akismet::VerifyError, e, caller
30
32
  end
31
33
 
32
34
  def submit_spam(args)
@@ -58,6 +60,8 @@ class Akismet
58
60
  when "false"
59
61
  false
60
62
  end
63
+ rescue SocketError => e
64
+ raise Akismet::CheckError, e, caller
61
65
  end
62
66
 
63
67
  def post_data(hash)
@@ -68,5 +72,6 @@ class Akismet
68
72
  end.join('&')
69
73
  end
70
74
 
71
- class VerifyException < Exception; end
75
+ class VerifyError < StandardError; end
76
+ class CheckError < StandardError; end
72
77
  end
data/spec/akismet_spec.rb CHANGED
@@ -44,7 +44,7 @@ describe "Akismet" do
44
44
 
45
45
  it "should not verify an invalid key" do
46
46
  map Rack::URLMap.new("http://rest.akismet.com/" => lambda { |env| [200, {'x-akismet-debug-help' => 'sorry!'}, ["invalid"]]})
47
- lambda {@akismet.verify?}.should raise_error(Akismet::VerifyException)
47
+ lambda {@akismet.verify?}.should raise_error(Akismet::VerifyError)
48
48
  response['x-akismet-debug-help'].should == 'sorry!'
49
49
  end
50
50
 
@@ -92,4 +92,19 @@ describe "Akismet" do
92
92
  @akismet.submit_ham(params.update(:comment_content => "this-is-ham"))
93
93
  request.script_name.should == "/1.1/submit-ham"
94
94
  end
95
+
96
+ describe "verify?" do
97
+ it "should handle a SocketError" do
98
+ map Rack::URLMap.new("http://rest.akismet.com/" => lambda { |env| raise SocketError })
99
+ mock.proxy(Net::HTTP).start(anything, numeric)
100
+ lambda {@akismet.verify?}.should raise_error(Akismet::VerifyError)
101
+ end
102
+ end
103
+
104
+ describe "call_akismet" do
105
+ it "should handle a SocketError" do
106
+ map Rack::URLMap.new("http://thekey.rest.akismet.com/1.1/comment-check" => lambda { |env| raise SocketError })
107
+ lambda { @akismet.ham?(params.update(:comment_content => "not spam"))}.should raise_error(Akismet::CheckError)
108
+ end
109
+ end
95
110
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mikehale-akismet
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Hale
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-15 00:00:00 -07:00
12
+ date: 2009-06-05 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies: []
15
15