despamilator 0.5 → 0.7

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest.txt CHANGED
@@ -4,7 +4,6 @@ PostInstall.txt
4
4
  README.rdoc
5
5
  Rakefile
6
6
  despamilator.gemspec
7
- despamliator.gemspec
8
7
  lib/despamilator.rb
9
8
  lib/despamilator/filter.rb
10
9
  lib/despamilator/filter/funky_consonant.rb
data/PostInstall.txt CHANGED
@@ -1 +1 @@
1
- For more information on despamilator or to contribute more filters, see http://github.com/moowahaha/despamliator
1
+ For more information on despamilator or to contribute more filters, see http://github.com/moowahaha/despamilator
data/README.rdoc CHANGED
@@ -1,6 +1,6 @@
1
1
  = Despamilator
2
2
 
3
- * http://github.com/moowahaha/despamliator
3
+ * http://github.com/moowahaha/despamilator
4
4
 
5
5
  == DESCRIPTION:
6
6
 
@@ -50,8 +50,11 @@ some commonly used heuristics from the world of anti-spam to help you decide whe
50
50
  require 'despamilator/validation'
51
51
 
52
52
  # in your model
53
- validates_despamilation_of :some_field, :threshold => 1
53
+ include DespamilatorValidation
54
54
 
55
+ def validate
56
+ validates_despamilation_of :text, :threshold => 1
57
+ end
55
58
 
56
59
  == FILTERING:
57
60
 
data/despamilator.gemspec CHANGED
@@ -2,41 +2,38 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{despamilator}
5
- s.version = "0.3"
5
+ s.version = "0.6"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Stephen Hardisty"]
9
- s.date = %q{2010-03-28}
9
+ s.date = %q{2010-09-01}
10
10
  s.description = %q{Despamilator is a plugin based spam detector designed for use on your web forms borne out of two annoyances:
11
- Spam being submitted in my web forms AND CAPTCHAS being intrusive. Despamilator will apply
11
+ Spam being submitted in my web forms and CAPTCHAS being intrusive. Despamilator will apply
12
12
  some commonly used heuristics from the world of anti-spam to help you decide whether your users are human or machine.}
13
13
  s.email = ["moowahaha@hotmail.com"]
14
- s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt", "pkg/despamilator-0.1/History.txt", "pkg/despamilator-0.1/Manifest.txt", "pkg/despamilator-0.1/PostInstall.txt"]
15
- s.files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "despamilator.gemspec", "lib/despamilator.rb", "lib/despamilator/filter.rb", "lib/despamilator/filter/html_tags.rb", "lib/despamilator/filter/naughty_q.rb", "lib/despamilator/filter/numbers_and_words.rb", "lib/despamilator/filter/script_tag.rb", "lib/despamilator/filter_base.rb", "pkg/despamilator-0.1.gem", "pkg/despamilator-0.1.tgz", "pkg/despamilator-0.1/History.txt", "pkg/despamilator-0.1/Manifest.txt", "pkg/despamilator-0.1/PostInstall.txt", "pkg/despamilator-0.1/README.rdoc", "pkg/despamilator-0.1/Rakefile", "pkg/despamilator-0.1/despamilator.gemspec", "pkg/despamilator-0.1/lib/despamilator.rb", "pkg/despamilator-0.1/lib/despamilator/filter.rb", "pkg/despamilator-0.1/lib/despamilator/filter/html_tags.rb", "pkg/despamilator-0.1/lib/despamilator/filter/naughty_q.rb", "pkg/despamilator-0.1/lib/despamilator/filter/numbers_and_words.rb", "pkg/despamilator-0.1/lib/despamilator/filter/script_tag.rb", "pkg/despamilator-0.1/lib/despamilator/filter_base.rb", "pkg/despamilator-0.1/spec/despamilator_spec.rb", "pkg/despamilator-0.1/spec/filters/html_tags_spec.rb", "pkg/despamilator-0.1/spec/filters/naughty_q_spec.rb", "pkg/despamilator-0.1/spec/filters/numbers_and_words_spec.rb", "pkg/despamilator-0.1/spec/filters/script_tag_spec.rb", "pkg/despamilator-0.1/spec/spec.opts", "pkg/despamilator-0.1/spec/spec_helper.rb", "pkg/despamilator-0.1/tasks/rspec.rake", "spec/despamilator_spec.rb", "spec/filters/html_tags_spec.rb", "spec/filters/naughty_q_spec.rb", "spec/filters/numbers_and_words_spec.rb", "spec/filters/script_tag_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "tasks/rspec.rake"]
16
- s.homepage = %q{http://github.com/moowahaha/despamliator}
14
+ s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt"]
15
+ s.files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "despamilator.gemspec", "lib/despamilator.rb", "lib/despamilator/filter.rb", "lib/despamilator/filter/funky_consonant.rb", "lib/despamilator/filter/html_tags.rb", "lib/despamilator/filter/ip_address_url.rb", "lib/despamilator/filter/long_words.rb", "lib/despamilator/filter/naughty_q.rb", "lib/despamilator/filter/naughty_words.rb", "lib/despamilator/filter/numbers_and_words.rb", "lib/despamilator/filter/script_tag.rb", "lib/despamilator/filter/shouting.rb", "lib/despamilator/filter/square_brackets.rb", "lib/despamilator/filter/urls.rb", "lib/despamilator/filter_base.rb", "lib/despamilator/validation.rb", "scripts/despamilator_score.rb", "spec/clean_corpus/101.txt.gz", "spec/clean_corpus/103.txt.gz", "spec/clean_corpus/105.txt.gz", "spec/clean_corpus/107.txt.gz", "spec/clean_corpus/109.txt.gz", "spec/clean_corpus/111.txt.gz", "spec/clean_corpus/113.txt.gz", "spec/clean_corpus/115.txt.gz", "spec/clean_corpus/117.txt.gz", "spec/clean_corpus/119.txt.gz", "spec/clean_corpus/121.txt.gz", "spec/clean_corpus/123.txt.gz", "spec/clean_corpus/125.txt.gz", "spec/clean_corpus/127.txt.gz", "spec/clean_corpus/129.txt.gz", "spec/clean_corpus/131.txt.gz", "spec/clean_corpus/133.txt.gz", "spec/clean_corpus/135.txt.gz", "spec/clean_corpus/137.txt.gz", "spec/clean_corpus/139.txt.gz", "spec/clean_corpus/141.txt.gz", "spec/clean_corpus/143.txt.gz", "spec/clean_corpus/145.txt.gz", "spec/clean_corpus/147.txt.gz", "spec/clean_corpus/149.txt.gz", "spec/clean_corpus/151.txt.gz", "spec/clean_corpus/153.txt.gz", "spec/clean_corpus/155.txt.gz", "spec/clean_corpus/157.txt.gz", "spec/clean_corpus/159.txt.gz", "spec/clean_corpus/161.txt.gz", "spec/clean_corpus/163.txt.gz", "spec/clean_corpus/165.txt.gz", "spec/clean_corpus/167.txt.gz", "spec/clean_corpus/169.txt.gz", "spec/clean_corpus/171.txt.gz", "spec/clean_corpus/173.txt.gz", "spec/clean_corpus/175.txt.gz", "spec/clean_corpus/177.txt.gz", "spec/clean_corpus/179.txt.gz", "spec/clean_corpus/18.txt.gz", "spec/clean_corpus/181.txt.gz", "spec/clean_corpus/183.txt.gz", "spec/clean_corpus/185.txt.gz", "spec/clean_corpus/187.txt.gz", "spec/clean_corpus/189.txt.gz", "spec/clean_corpus/191.txt.gz", "spec/clean_corpus/193.txt.gz", "spec/clean_corpus/195.txt.gz", "spec/clean_corpus/197.txt.gz", "spec/clean_corpus/199.txt.gz", "spec/clean_corpus/20.txt.gz", "spec/clean_corpus/201.txt.gz", "spec/clean_corpus/203.txt.gz", "spec/clean_corpus/205.txt.gz", "spec/clean_corpus/207.txt.gz", "spec/clean_corpus/209.txt.gz", "spec/clean_corpus/211.txt.gz", "spec/clean_corpus/213.txt.gz", "spec/clean_corpus/215.txt.gz", "spec/clean_corpus/217.txt.gz", "spec/clean_corpus/219.txt.gz", "spec/clean_corpus/22.txt.gz", "spec/clean_corpus/221.txt.gz", "spec/clean_corpus/223.txt.gz", "spec/clean_corpus/225.txt.gz", "spec/clean_corpus/24.txt.gz", "spec/clean_corpus/26.txt.gz", "spec/clean_corpus/27.txt.gz", "spec/clean_corpus/29.txt.gz", "spec/clean_corpus/31.txt.gz", "spec/clean_corpus/33.txt.gz", "spec/clean_corpus/35.txt.gz", "spec/clean_corpus/37.txt.gz", "spec/clean_corpus/39.txt.gz", "spec/clean_corpus/41.txt.gz", "spec/clean_corpus/43.txt.gz", "spec/clean_corpus/45.txt.gz", "spec/clean_corpus/47.txt.gz", "spec/clean_corpus/49.txt.gz", "spec/clean_corpus/51.txt.gz", "spec/clean_corpus/53.txt.gz", "spec/clean_corpus/55.txt.gz", "spec/clean_corpus/57.txt.gz", "spec/clean_corpus/59.txt.gz", "spec/clean_corpus/61.txt.gz", "spec/clean_corpus/63.txt.gz", "spec/clean_corpus/65.txt.gz", "spec/clean_corpus/67.txt.gz", "spec/clean_corpus/69.txt.gz", "spec/clean_corpus/71.txt.gz", "spec/clean_corpus/73.txt.gz", "spec/clean_corpus/75.txt.gz", "spec/clean_corpus/77.txt.gz", "spec/clean_corpus/79.txt.gz", "spec/clean_corpus/81.txt.gz", "spec/clean_corpus/83.txt.gz", "spec/clean_corpus/85.txt.gz", "spec/clean_corpus/87.txt.gz", "spec/clean_corpus/89.txt.gz", "spec/clean_corpus/91.txt.gz", "spec/clean_corpus/93.txt.gz", "spec/clean_corpus/95.txt.gz", "spec/clean_corpus/97.txt.gz", "spec/clean_corpus/99.txt.gz", "spec/clean_corpus_spec.rb", "spec/despamilator_spec.rb", "spec/despamilator_validation_spec.rb", "spec/filters/funky_consonant_spec.rb", "spec/filters/html_tags_spec.rb", "spec/filters/ip_address_url_spec.rb", "spec/filters/long_words_spec.rb", "spec/filters/naughty_q_spec.rb", "spec/filters/naughty_words_spec.rb", "spec/filters/numbers_and_words_spec.rb", "spec/filters/script_tag_spec.rb", "spec/filters/shouting_spec.rb", "spec/filters/square_brackets_spec.rb", "spec/filters/urls_spec.rb", "spec/spam_corpus/0.txt.gz", "spec/spam_corpus/1.txt.gz", "spec/spam_corpus/10.txt.gz", "spec/spam_corpus/100.txt.gz", "spec/spam_corpus/102.txt.gz", "spec/spam_corpus/104.txt.gz", "spec/spam_corpus/106.txt.gz", "spec/spam_corpus/108.txt.gz", "spec/spam_corpus/11.txt.gz", "spec/spam_corpus/110.txt.gz", "spec/spam_corpus/112.txt.gz", "spec/spam_corpus/114.txt.gz", "spec/spam_corpus/116.txt.gz", "spec/spam_corpus/118.txt.gz", "spec/spam_corpus/12.txt.gz", "spec/spam_corpus/120.txt.gz", "spec/spam_corpus/122.txt.gz", "spec/spam_corpus/124.txt.gz", "spec/spam_corpus/126.txt.gz", "spec/spam_corpus/128.txt.gz", "spec/spam_corpus/13.txt.gz", "spec/spam_corpus/130.txt.gz", "spec/spam_corpus/132.txt.gz", "spec/spam_corpus/134.txt.gz", "spec/spam_corpus/136.txt.gz", "spec/spam_corpus/138.txt.gz", "spec/spam_corpus/14.txt.gz", "spec/spam_corpus/140.txt.gz", "spec/spam_corpus/142.txt.gz", "spec/spam_corpus/144.txt.gz", "spec/spam_corpus/146.txt.gz", "spec/spam_corpus/148.txt.gz", "spec/spam_corpus/15.txt.gz", "spec/spam_corpus/150.txt.gz", "spec/spam_corpus/152.txt.gz", "spec/spam_corpus/154.txt.gz", "spec/spam_corpus/156.txt.gz", "spec/spam_corpus/158.txt.gz", "spec/spam_corpus/16.txt.gz", "spec/spam_corpus/160.txt.gz", "spec/spam_corpus/162.txt.gz", "spec/spam_corpus/164.txt.gz", "spec/spam_corpus/166.txt.gz", "spec/spam_corpus/168.txt.gz", "spec/spam_corpus/170.txt.gz", "spec/spam_corpus/172.txt.gz", "spec/spam_corpus/174.txt.gz", "spec/spam_corpus/176.txt.gz", "spec/spam_corpus/178.txt.gz", "spec/spam_corpus/180.txt.gz", "spec/spam_corpus/182.txt.gz", "spec/spam_corpus/184.txt.gz", "spec/spam_corpus/186.txt.gz", "spec/spam_corpus/188.txt.gz", "spec/spam_corpus/190.txt.gz", "spec/spam_corpus/192.txt.gz", "spec/spam_corpus/194.txt.gz", "spec/spam_corpus/196.txt.gz", "spec/spam_corpus/198.txt.gz", "spec/spam_corpus/2.txt.gz", "spec/spam_corpus/200.txt.gz", "spec/spam_corpus/202.txt.gz", "spec/spam_corpus/204.txt.gz", "spec/spam_corpus/206.txt.gz", "spec/spam_corpus/208.txt.gz", "spec/spam_corpus/210.txt.gz", "spec/spam_corpus/212.txt.gz", "spec/spam_corpus/214.txt.gz", "spec/spam_corpus/216.txt.gz", "spec/spam_corpus/218.txt.gz", "spec/spam_corpus/220.txt.gz", "spec/spam_corpus/222.txt.gz", "spec/spam_corpus/224.txt.gz", "spec/spam_corpus/226.txt.gz", "spec/spam_corpus/228.txt.gz", "spec/spam_corpus/230.txt.gz", "spec/spam_corpus/232.txt.gz", "spec/spam_corpus/234.txt.gz", "spec/spam_corpus/236.txt.gz", "spec/spam_corpus/238.txt.gz", "spec/spam_corpus/240.txt.gz", "spec/spam_corpus/242.txt.gz", "spec/spam_corpus/244.txt.gz", "spec/spam_corpus/246.txt.gz", "spec/spam_corpus/248.txt.gz", "spec/spam_corpus/250.txt.gz", "spec/spam_corpus/252.txt.gz", "spec/spam_corpus/254.txt.gz", "spec/spam_corpus/256.txt.gz", "spec/spam_corpus/258.txt.gz", "spec/spam_corpus/260.txt.gz", "spec/spam_corpus/262.txt.gz", "spec/spam_corpus/264.txt.gz", "spec/spam_corpus/266.txt.gz", "spec/spam_corpus/268.txt.gz", "spec/spam_corpus/270.txt.gz", "spec/spam_corpus/272.txt.gz", "spec/spam_corpus/274.txt.gz", "spec/spam_corpus/276.txt.gz", "spec/spam_corpus/278.txt.gz", "spec/spam_corpus/28.txt.gz", "spec/spam_corpus/280.txt.gz", "spec/spam_corpus/282.txt.gz", "spec/spam_corpus/284.txt.gz", "spec/spam_corpus/286.txt.gz", "spec/spam_corpus/288.txt.gz", "spec/spam_corpus/290.txt.gz", "spec/spam_corpus/292.txt.gz", "spec/spam_corpus/294.txt.gz", "spec/spam_corpus/296.txt.gz", "spec/spam_corpus/298.txt.gz", "spec/spam_corpus/3.txt.gz", "spec/spam_corpus/30.txt.gz", "spec/spam_corpus/300.txt.gz", "spec/spam_corpus/302.txt.gz", "spec/spam_corpus/304.txt.gz", "spec/spam_corpus/306.txt.gz", "spec/spam_corpus/308.txt.gz", "spec/spam_corpus/310.txt.gz", "spec/spam_corpus/312.txt.gz", "spec/spam_corpus/314.txt.gz", "spec/spam_corpus/316.txt.gz", "spec/spam_corpus/318.txt.gz", "spec/spam_corpus/32.txt.gz", "spec/spam_corpus/320.txt.gz", "spec/spam_corpus/322.txt.gz", "spec/spam_corpus/324.txt.gz", "spec/spam_corpus/326.txt.gz", "spec/spam_corpus/328.txt.gz", "spec/spam_corpus/330.txt.gz", "spec/spam_corpus/332.txt.gz", "spec/spam_corpus/334.txt.gz", "spec/spam_corpus/336.txt.gz", "spec/spam_corpus/338.txt.gz", "spec/spam_corpus/34.txt.gz", "spec/spam_corpus/340.txt.gz", "spec/spam_corpus/342.txt.gz", "spec/spam_corpus/344.txt.gz", "spec/spam_corpus/346.txt.gz", "spec/spam_corpus/348.txt.gz", "spec/spam_corpus/350.txt.gz", "spec/spam_corpus/352.txt.gz", "spec/spam_corpus/354.txt.gz", "spec/spam_corpus/356.txt.gz", "spec/spam_corpus/358.txt.gz", "spec/spam_corpus/36.txt.gz", "spec/spam_corpus/360.txt.gz", "spec/spam_corpus/362.txt.gz", "spec/spam_corpus/364.txt.gz", "spec/spam_corpus/366.txt.gz", "spec/spam_corpus/368.txt.gz", "spec/spam_corpus/370.txt.gz", "spec/spam_corpus/372.txt.gz", "spec/spam_corpus/374.txt.gz", "spec/spam_corpus/376.txt.gz", "spec/spam_corpus/378.txt.gz", "spec/spam_corpus/38.txt.gz", "spec/spam_corpus/380.txt.gz", "spec/spam_corpus/382.txt.gz", "spec/spam_corpus/384.txt.gz", "spec/spam_corpus/386.txt.gz", "spec/spam_corpus/388.txt.gz", "spec/spam_corpus/390.txt.gz", "spec/spam_corpus/392.txt.gz", "spec/spam_corpus/394.txt.gz", "spec/spam_corpus/396.txt.gz", "spec/spam_corpus/398.txt.gz", "spec/spam_corpus/4.txt.gz", "spec/spam_corpus/40.txt.gz", "spec/spam_corpus/400.txt.gz", "spec/spam_corpus/402.txt.gz", "spec/spam_corpus/404.txt.gz", "spec/spam_corpus/406.txt.gz", "spec/spam_corpus/408.txt.gz", "spec/spam_corpus/410.txt.gz", "spec/spam_corpus/412.txt.gz", "spec/spam_corpus/414.txt.gz", "spec/spam_corpus/416.txt.gz", "spec/spam_corpus/418.txt.gz", "spec/spam_corpus/42.txt.gz", "spec/spam_corpus/420.txt.gz", "spec/spam_corpus/422.txt.gz", "spec/spam_corpus/424.txt.gz", "spec/spam_corpus/426.txt.gz", "spec/spam_corpus/428.txt.gz", "spec/spam_corpus/430.txt.gz", "spec/spam_corpus/432.txt.gz", "spec/spam_corpus/434.txt.gz", "spec/spam_corpus/436.txt.gz", "spec/spam_corpus/438.txt.gz", "spec/spam_corpus/44.txt.gz", "spec/spam_corpus/440.txt.gz", "spec/spam_corpus/442.txt.gz", "spec/spam_corpus/444.txt.gz", "spec/spam_corpus/446.txt.gz", "spec/spam_corpus/448.txt.gz", "spec/spam_corpus/450.txt.gz", "spec/spam_corpus/452.txt.gz", "spec/spam_corpus/454.txt.gz", "spec/spam_corpus/456.txt.gz", "spec/spam_corpus/458.txt.gz", "spec/spam_corpus/46.txt.gz", "spec/spam_corpus/460.txt.gz", "spec/spam_corpus/462.txt.gz", "spec/spam_corpus/464.txt.gz", "spec/spam_corpus/466.txt.gz", "spec/spam_corpus/468.txt.gz", "spec/spam_corpus/470.txt.gz", "spec/spam_corpus/472.txt.gz", "spec/spam_corpus/474.txt.gz", "spec/spam_corpus/476.txt.gz", "spec/spam_corpus/478.txt.gz", "spec/spam_corpus/48.txt.gz", "spec/spam_corpus/480.txt.gz", "spec/spam_corpus/482.txt.gz", "spec/spam_corpus/484.txt.gz", "spec/spam_corpus/486.txt.gz", "spec/spam_corpus/488.txt.gz", "spec/spam_corpus/490.txt.gz", "spec/spam_corpus/492.txt.gz", "spec/spam_corpus/494.txt.gz", "spec/spam_corpus/496.txt.gz", "spec/spam_corpus/498.txt.gz", "spec/spam_corpus/5.txt.gz", "spec/spam_corpus/50.txt.gz", "spec/spam_corpus/500.txt.gz", "spec/spam_corpus/502.txt.gz", "spec/spam_corpus/504.txt.gz", "spec/spam_corpus/506.txt.gz", "spec/spam_corpus/508.txt.gz", "spec/spam_corpus/510.txt.gz", "spec/spam_corpus/512.txt.gz", "spec/spam_corpus/514.txt.gz", "spec/spam_corpus/516.txt.gz", "spec/spam_corpus/518.txt.gz", "spec/spam_corpus/52.txt.gz", "spec/spam_corpus/520.txt.gz", "spec/spam_corpus/522.txt.gz", "spec/spam_corpus/524.txt.gz", "spec/spam_corpus/526.txt.gz", "spec/spam_corpus/528.txt.gz", "spec/spam_corpus/530.txt.gz", "spec/spam_corpus/532.txt.gz", "spec/spam_corpus/534.txt.gz", "spec/spam_corpus/536.txt.gz", "spec/spam_corpus/538.txt.gz", "spec/spam_corpus/54.txt.gz", "spec/spam_corpus/540.txt.gz", "spec/spam_corpus/542.txt.gz", "spec/spam_corpus/544.txt.gz", "spec/spam_corpus/546.txt.gz", "spec/spam_corpus/548.txt.gz", "spec/spam_corpus/550.txt.gz", "spec/spam_corpus/552.txt.gz", "spec/spam_corpus/554.txt.gz", "spec/spam_corpus/556.txt.gz", "spec/spam_corpus/558.txt.gz", "spec/spam_corpus/56.txt.gz", "spec/spam_corpus/560.txt.gz", "spec/spam_corpus/562.txt.gz", "spec/spam_corpus/564.txt.gz", "spec/spam_corpus/566.txt.gz", "spec/spam_corpus/568.txt.gz", "spec/spam_corpus/570.txt.gz", "spec/spam_corpus/572.txt.gz", "spec/spam_corpus/574.txt.gz", "spec/spam_corpus/576.txt.gz", "spec/spam_corpus/578.txt.gz", "spec/spam_corpus/58.txt.gz", "spec/spam_corpus/580.txt.gz", "spec/spam_corpus/582.txt.gz", "spec/spam_corpus/584.txt.gz", "spec/spam_corpus/586.txt.gz", "spec/spam_corpus/588.txt.gz", "spec/spam_corpus/590.txt.gz", "spec/spam_corpus/592.txt.gz", "spec/spam_corpus/594.txt.gz", "spec/spam_corpus/596.txt.gz", "spec/spam_corpus/598.txt.gz", "spec/spam_corpus/6.txt.gz", "spec/spam_corpus/60.txt.gz", "spec/spam_corpus/600.txt.gz", "spec/spam_corpus/602.txt.gz", "spec/spam_corpus/604.txt.gz", "spec/spam_corpus/606.txt.gz", "spec/spam_corpus/608.txt.gz", "spec/spam_corpus/610.txt.gz", "spec/spam_corpus/612.txt.gz", "spec/spam_corpus/614.txt.gz", "spec/spam_corpus/616.txt.gz", "spec/spam_corpus/618.txt.gz", "spec/spam_corpus/62.txt.gz", "spec/spam_corpus/620.txt.gz", "spec/spam_corpus/622.txt.gz", "spec/spam_corpus/624.txt.gz", "spec/spam_corpus/626.txt.gz", "spec/spam_corpus/628.txt.gz", "spec/spam_corpus/630.txt.gz", "spec/spam_corpus/632.txt.gz", "spec/spam_corpus/634.txt.gz", "spec/spam_corpus/636.txt.gz", "spec/spam_corpus/638.txt.gz", "spec/spam_corpus/64.txt.gz", "spec/spam_corpus/640.txt.gz", "spec/spam_corpus/642.txt.gz", "spec/spam_corpus/644.txt.gz", "spec/spam_corpus/646.txt.gz", "spec/spam_corpus/648.txt.gz", "spec/spam_corpus/650.txt.gz", "spec/spam_corpus/652.txt.gz", "spec/spam_corpus/654.txt.gz", "spec/spam_corpus/656.txt.gz", "spec/spam_corpus/658.txt.gz", "spec/spam_corpus/66.txt.gz", "spec/spam_corpus/660.txt.gz", "spec/spam_corpus/662.txt.gz", "spec/spam_corpus/664.txt.gz", "spec/spam_corpus/666.txt.gz", "spec/spam_corpus/668.txt.gz", "spec/spam_corpus/670.txt.gz", "spec/spam_corpus/672.txt.gz", "spec/spam_corpus/674.txt.gz", "spec/spam_corpus/676.txt.gz", "spec/spam_corpus/678.txt.gz", "spec/spam_corpus/68.txt.gz", "spec/spam_corpus/680.txt.gz", "spec/spam_corpus/682.txt.gz", "spec/spam_corpus/684.txt.gz", "spec/spam_corpus/686.txt.gz", "spec/spam_corpus/688.txt.gz", "spec/spam_corpus/690.txt.gz", "spec/spam_corpus/692.txt.gz", "spec/spam_corpus/694.txt.gz", "spec/spam_corpus/696.txt.gz", "spec/spam_corpus/698.txt.gz", "spec/spam_corpus/7.txt.gz", "spec/spam_corpus/70.txt.gz", "spec/spam_corpus/700.txt.gz", "spec/spam_corpus/702.txt.gz", "spec/spam_corpus/704.txt.gz", "spec/spam_corpus/706.txt.gz", "spec/spam_corpus/708.txt.gz", "spec/spam_corpus/710.txt.gz", "spec/spam_corpus/712.txt.gz", "spec/spam_corpus/714.txt.gz", "spec/spam_corpus/716.txt.gz", "spec/spam_corpus/718.txt.gz", "spec/spam_corpus/72.txt.gz", "spec/spam_corpus/720.txt.gz", "spec/spam_corpus/722.txt.gz", "spec/spam_corpus/724.txt.gz", "spec/spam_corpus/726.txt.gz", "spec/spam_corpus/728.txt.gz", "spec/spam_corpus/730.txt.gz", "spec/spam_corpus/732.txt.gz", "spec/spam_corpus/734.txt.gz", "spec/spam_corpus/736.txt.gz", "spec/spam_corpus/738.txt.gz", "spec/spam_corpus/74.txt.gz", "spec/spam_corpus/740.txt.gz", "spec/spam_corpus/742.txt.gz", "spec/spam_corpus/744.txt.gz", "spec/spam_corpus/746.txt.gz", "spec/spam_corpus/748.txt.gz", "spec/spam_corpus/750.txt.gz", "spec/spam_corpus/752.txt.gz", "spec/spam_corpus/754.txt.gz", "spec/spam_corpus/756.txt.gz", "spec/spam_corpus/758.txt.gz", "spec/spam_corpus/76.txt.gz", "spec/spam_corpus/760.txt.gz", "spec/spam_corpus/762.txt.gz", "spec/spam_corpus/764.txt.gz", "spec/spam_corpus/766.txt.gz", "spec/spam_corpus/768.txt.gz", "spec/spam_corpus/770.txt.gz", "spec/spam_corpus/772.txt.gz", "spec/spam_corpus/774.txt.gz", "spec/spam_corpus/776.txt.gz", "spec/spam_corpus/778.txt.gz", "spec/spam_corpus/78.txt.gz", "spec/spam_corpus/780.txt.gz", "spec/spam_corpus/782.txt.gz", "spec/spam_corpus/784.txt.gz", "spec/spam_corpus/786.txt.gz", "spec/spam_corpus/788.txt.gz", "spec/spam_corpus/790.txt.gz", "spec/spam_corpus/792.txt.gz", "spec/spam_corpus/794.txt.gz", "spec/spam_corpus/796.txt.gz", "spec/spam_corpus/798.txt.gz", "spec/spam_corpus/8.txt.gz", "spec/spam_corpus/80.txt.gz", "spec/spam_corpus/800.txt.gz", "spec/spam_corpus/802.txt.gz", "spec/spam_corpus/804.txt.gz", "spec/spam_corpus/806.txt.gz", "spec/spam_corpus/808.txt.gz", "spec/spam_corpus/810.txt.gz", "spec/spam_corpus/812.txt.gz", "spec/spam_corpus/814.txt.gz", "spec/spam_corpus/816.txt.gz", "spec/spam_corpus/818.txt.gz", "spec/spam_corpus/82.txt.gz", "spec/spam_corpus/820.txt.gz", "spec/spam_corpus/822.txt.gz", "spec/spam_corpus/824.txt.gz", "spec/spam_corpus/826.txt.gz", "spec/spam_corpus/828.txt.gz", "spec/spam_corpus/830.txt.gz", "spec/spam_corpus/832.txt.gz", "spec/spam_corpus/834.txt.gz", "spec/spam_corpus/836.txt.gz", "spec/spam_corpus/838.txt.gz", "spec/spam_corpus/84.txt.gz", "spec/spam_corpus/840.txt.gz", "spec/spam_corpus/842.txt.gz", "spec/spam_corpus/844.txt.gz", "spec/spam_corpus/846.txt.gz", "spec/spam_corpus/848.txt.gz", "spec/spam_corpus/850.txt.gz", "spec/spam_corpus/852.txt.gz", "spec/spam_corpus/854.txt.gz", "spec/spam_corpus/856.txt.gz", "spec/spam_corpus/858.txt.gz", "spec/spam_corpus/86.txt.gz", "spec/spam_corpus/860.txt.gz", "spec/spam_corpus/862.txt.gz", "spec/spam_corpus/864.txt.gz", "spec/spam_corpus/866.txt.gz", "spec/spam_corpus/868.txt.gz", "spec/spam_corpus/870.txt.gz", "spec/spam_corpus/872.txt.gz", "spec/spam_corpus/874.txt.gz", "spec/spam_corpus/876.txt.gz", "spec/spam_corpus/878.txt.gz", "spec/spam_corpus/88.txt.gz", "spec/spam_corpus/880.txt.gz", "spec/spam_corpus/882.txt.gz", "spec/spam_corpus/884.txt.gz", "spec/spam_corpus/886.txt.gz", "spec/spam_corpus/888.txt.gz", "spec/spam_corpus/890.txt.gz", "spec/spam_corpus/892.txt.gz", "spec/spam_corpus/894.txt.gz", "spec/spam_corpus/896.txt.gz", "spec/spam_corpus/898.txt.gz", "spec/spam_corpus/9.txt.gz", "spec/spam_corpus/90.txt.gz", "spec/spam_corpus/900.txt.gz", "spec/spam_corpus/902.txt.gz", "spec/spam_corpus/904.txt.gz", "spec/spam_corpus/906.txt.gz", "spec/spam_corpus/908.txt.gz", "spec/spam_corpus/910.txt.gz", "spec/spam_corpus/912.txt.gz", "spec/spam_corpus/914.txt.gz", "spec/spam_corpus/916.txt.gz", "spec/spam_corpus/918.txt.gz", "spec/spam_corpus/92.txt.gz", "spec/spam_corpus/920.txt.gz", "spec/spam_corpus/922.txt.gz", "spec/spam_corpus/924.txt.gz", "spec/spam_corpus/926.txt.gz", "spec/spam_corpus/928.txt.gz", "spec/spam_corpus/930.txt.gz", "spec/spam_corpus/932.txt.gz", "spec/spam_corpus/934.txt.gz", "spec/spam_corpus/936.txt.gz", "spec/spam_corpus/938.txt.gz", "spec/spam_corpus/94.txt.gz", "spec/spam_corpus/940.txt.gz", "spec/spam_corpus/942.txt.gz", "spec/spam_corpus/944.txt.gz", "spec/spam_corpus/946.txt.gz", "spec/spam_corpus/948.txt.gz", "spec/spam_corpus/950.txt.gz", "spec/spam_corpus/952.txt.gz", "spec/spam_corpus/954.txt.gz", "spec/spam_corpus/956.txt.gz", "spec/spam_corpus/958.txt.gz", "spec/spam_corpus/96.txt.gz", "spec/spam_corpus/960.txt.gz", "spec/spam_corpus/962.txt.gz", "spec/spam_corpus/964.txt.gz", "spec/spam_corpus/966.txt.gz", "spec/spam_corpus/968.txt.gz", "spec/spam_corpus/970.txt.gz", "spec/spam_corpus/972.txt.gz", "spec/spam_corpus/974.txt.gz", "spec/spam_corpus/98.txt.gz", "spec/spam_corpus/debugyouradd.com.txt.gz", "spec/spam_corpus/humandesignconsulting.comm.txt.gz", "spec/spam_corpus_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "tasks/rspec.rake"]
16
+ s.homepage = %q{http://github.com/moowahaha/despamilator}
17
17
  s.post_install_message = %q{PostInstall.txt}
18
18
  s.rdoc_options = ["--main", "README.rdoc"]
19
19
  s.require_paths = ["lib"]
20
20
  s.rubyforge_project = %q{despamilator}
21
21
  s.rubygems_version = %q{1.3.6}
22
- s.summary = %q{Despamilator is a plugin based spam detector designed for use on your web forms borne out of two annoyances: Spam being submitted in my web forms AND CAPTCHAS being intrusive}
22
+ s.summary = %q{Despamilator is a plugin based spam detector designed for use on your web forms borne out of two annoyances: Spam being submitted in my web forms and CAPTCHAS being intrusive}
23
23
 
24
24
  if s.respond_to? :specification_version then
25
25
  current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
26
26
  s.specification_version = 3
27
27
 
28
28
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
- s.add_development_dependency(%q<rubyforge>, [">= 2.0.3"])
30
- s.add_development_dependency(%q<gemcutter>, [">= 0.5.0"])
31
- s.add_development_dependency(%q<hoe>, [">= 2.5.0"])
29
+ s.add_development_dependency(%q<rubyforge>, [">= 2.0.4"])
30
+ s.add_development_dependency(%q<hoe>, [">= 2.6.0"])
32
31
  else
33
- s.add_dependency(%q<rubyforge>, [">= 2.0.3"])
34
- s.add_dependency(%q<gemcutter>, [">= 0.5.0"])
35
- s.add_dependency(%q<hoe>, [">= 2.5.0"])
32
+ s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
33
+ s.add_dependency(%q<hoe>, [">= 2.6.0"])
36
34
  end
37
35
  else
38
- s.add_dependency(%q<rubyforge>, [">= 2.0.3"])
39
- s.add_dependency(%q<gemcutter>, [">= 0.5.0"])
40
- s.add_dependency(%q<hoe>, [">= 2.5.0"])
36
+ s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
37
+ s.add_dependency(%q<hoe>, [">= 2.6.0"])
41
38
  end
42
39
  end
data/lib/despamilator.rb CHANGED
@@ -3,7 +3,7 @@ $:.unshift(File.dirname(__FILE__)) unless $:.include?(File.dirname(__FILE__)) ||
3
3
  require 'despamilator/filter'
4
4
 
5
5
  class Despamilator
6
- VERSION = "0.5"
6
+ VERSION = "0.7"
7
7
 
8
8
  def initialize text
9
9
  @filters = Despamilator::Filter.new text
@@ -16,4 +16,4 @@ class Despamilator
16
16
  def matched_by
17
17
  @filters.matches
18
18
  end
19
- end
19
+ end
@@ -1,20 +1,12 @@
1
1
  require 'despamilator'
2
2
 
3
- module ActiveRecord
4
- module Validations
5
- module ClassMethods
6
- def validates_despamilation_of(* attr_names)
7
- threshold = attr_names.pop[:threshold] || raise('A threshold score must be supplied')
3
+ module DespamilatorValidation
4
+ def validates_despamilation_of(* attr_names)
5
+ threshold = attr_names.pop[:threshold] || raise('A threshold score must be supplied')
8
6
 
9
- configuration = {
10
- :message => "has exceeded the spam threshold of #{threshold}",
11
- :on => :save
12
- }
13
-
14
- validates_each(attr_names, configuration) do |record, attr_name, value|
15
- record.errors.add(attr_name, configuration[:message]) if Despamilator.new(value).score >= threshold
16
- end
17
- end
7
+ attr_names.each do |attribute|
8
+ self.errors.add(attribute, "has exceeded the spam threshold of #{threshold}") if Despamilator.new(self.send(attribute)).score >= threshold
18
9
  end
19
10
  end
20
11
  end
12
+
@@ -2,19 +2,26 @@ require File.dirname(__FILE__) + '/spec_helper.rb'
2
2
  require File.dirname(__FILE__) + '/../lib/despamilator/validation.rb'
3
3
 
4
4
  class TestClass
5
- include ActiveRecord::Validations::ClassMethods
5
+ include DespamilatorValidation
6
+
7
+ attr_accessor :text
6
8
  end
7
9
 
8
10
  describe 'despamilator validation' do
9
11
 
10
- # worst test i have ever written?
11
12
  it "should validate my field" do
12
- fake_record = mock('fake record')
13
-
14
13
  tc = TestClass.new
15
- tc.should_receive(:validates_each).with([:something], {:on=>:save, :message=>"has exceeded the spam threshold of 1"}).and_yield(fake_record, :something, 'bob')
14
+ tc.text = 'asdasd'
15
+
16
+ fake_despamilator = mock('despamilator')
17
+ Despamilator.should_receive(:new).and_return(fake_despamilator)
18
+ fake_despamilator.should_receive(:score).and_return(2)
19
+
20
+ fake_errors = mock('errors')
21
+ tc.should_receive(:errors).and_return(fake_errors)
22
+ fake_errors.should_receive(:add).with(:text, "has exceeded the spam threshold of 1")
16
23
 
17
- tc.validates_despamilation_of :something, :threshold => 1
24
+ tc.validates_despamilation_of(:text, :threshold => 1)
18
25
  end
19
26
 
20
27
  end
metadata CHANGED
@@ -4,8 +4,8 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 5
8
- version: "0.5"
7
+ - 7
8
+ version: "0.7"
9
9
  platform: ruby
10
10
  authors:
11
11
  - Stephen Hardisty
@@ -13,7 +13,7 @@ autorequire:
13
13
  bindir: bin
14
14
  cert_chain: []
15
15
 
16
- date: 2010-08-31 00:00:00 +10:00
16
+ date: 2010-09-01 00:00:00 +10:00
17
17
  default_executable:
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
@@ -40,8 +40,8 @@ dependencies:
40
40
  segments:
41
41
  - 2
42
42
  - 6
43
- - 1
44
- version: 2.6.1
43
+ - 0
44
+ version: 2.6.0
45
45
  type: :development
46
46
  version_requirements: *id002
47
47
  description: |-
@@ -65,7 +65,6 @@ files:
65
65
  - README.rdoc
66
66
  - Rakefile
67
67
  - despamilator.gemspec
68
- - despamliator.gemspec
69
68
  - lib/despamilator.rb
70
69
  - lib/despamilator/filter.rb
71
70
  - lib/despamilator/filter/funky_consonant.rb
@@ -699,7 +698,7 @@ files:
699
698
  - spec/spec_helper.rb
700
699
  - tasks/rspec.rake
701
700
  has_rdoc: true
702
- homepage: http://github.com/moowahaha/despamliator
701
+ homepage: http://github.com/moowahaha/despamilator
703
702
  licenses: []
704
703
 
705
704
  post_install_message: PostInstall.txt
data/despamliator.gemspec DELETED
@@ -1,39 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = %q{despamilator}
5
- s.version = "0.5"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Stephen Hardisty"]
9
- s.date = %q{2010-08-31}
10
- s.description = %q{Despamilator is a plugin based spam detector designed for use on your web forms borne out of two annoyances:
11
- Spam being submitted in my web forms and CAPTCHAS being intrusive. Despamilator will apply
12
- some commonly used heuristics from the world of anti-spam to help you decide whether your users are human or machine.}
13
- s.email = ["moowahaha@hotmail.com"]
14
- s.extra_rdoc_files = ["History.txt", "Manifest.txt", "PostInstall.txt"]
15
- s.files = ["History.txt", "Manifest.txt", "PostInstall.txt", "README.rdoc", "Rakefile", "despamilator.gemspec", "despamliator.gemspec", "lib/despamilator.rb", "lib/despamilator/filter.rb", "lib/despamilator/filter/funky_consonant.rb", "lib/despamilator/filter/html_tags.rb", "lib/despamilator/filter/ip_address_url.rb", "lib/despamilator/filter/long_words.rb", "lib/despamilator/filter/naughty_q.rb", "lib/despamilator/filter/naughty_words.rb", "lib/despamilator/filter/numbers_and_words.rb", "lib/despamilator/filter/script_tag.rb", "lib/despamilator/filter/shouting.rb", "lib/despamilator/filter/square_brackets.rb", "lib/despamilator/filter/urls.rb", "lib/despamilator/filter_base.rb", "lib/despamilator/validation.rb", "scripts/despamilator_score.rb", "spec/clean_corpus/101.txt.gz", "spec/clean_corpus/103.txt.gz", "spec/clean_corpus/105.txt.gz", "spec/clean_corpus/107.txt.gz", "spec/clean_corpus/109.txt.gz", "spec/clean_corpus/111.txt.gz", "spec/clean_corpus/113.txt.gz", "spec/clean_corpus/115.txt.gz", "spec/clean_corpus/117.txt.gz", "spec/clean_corpus/119.txt.gz", "spec/clean_corpus/121.txt.gz", "spec/clean_corpus/123.txt.gz", "spec/clean_corpus/125.txt.gz", "spec/clean_corpus/127.txt.gz", "spec/clean_corpus/129.txt.gz", "spec/clean_corpus/131.txt.gz", "spec/clean_corpus/133.txt.gz", "spec/clean_corpus/135.txt.gz", "spec/clean_corpus/137.txt.gz", "spec/clean_corpus/139.txt.gz", "spec/clean_corpus/141.txt.gz", "spec/clean_corpus/143.txt.gz", "spec/clean_corpus/145.txt.gz", "spec/clean_corpus/147.txt.gz", "spec/clean_corpus/149.txt.gz", "spec/clean_corpus/151.txt.gz", "spec/clean_corpus/153.txt.gz", "spec/clean_corpus/155.txt.gz", "spec/clean_corpus/157.txt.gz", "spec/clean_corpus/159.txt.gz", "spec/clean_corpus/161.txt.gz", "spec/clean_corpus/163.txt.gz", "spec/clean_corpus/165.txt.gz", "spec/clean_corpus/167.txt.gz", "spec/clean_corpus/169.txt.gz", "spec/clean_corpus/171.txt.gz", "spec/clean_corpus/173.txt.gz", "spec/clean_corpus/175.txt.gz", "spec/clean_corpus/177.txt.gz", "spec/clean_corpus/179.txt.gz", "spec/clean_corpus/18.txt.gz", "spec/clean_corpus/181.txt.gz", "spec/clean_corpus/183.txt.gz", "spec/clean_corpus/185.txt.gz", "spec/clean_corpus/187.txt.gz", "spec/clean_corpus/189.txt.gz", "spec/clean_corpus/191.txt.gz", "spec/clean_corpus/193.txt.gz", "spec/clean_corpus/195.txt.gz", "spec/clean_corpus/197.txt.gz", "spec/clean_corpus/199.txt.gz", "spec/clean_corpus/20.txt.gz", "spec/clean_corpus/201.txt.gz", "spec/clean_corpus/203.txt.gz", "spec/clean_corpus/205.txt.gz", "spec/clean_corpus/207.txt.gz", "spec/clean_corpus/209.txt.gz", "spec/clean_corpus/211.txt.gz", "spec/clean_corpus/213.txt.gz", "spec/clean_corpus/215.txt.gz", "spec/clean_corpus/217.txt.gz", "spec/clean_corpus/219.txt.gz", "spec/clean_corpus/22.txt.gz", "spec/clean_corpus/221.txt.gz", "spec/clean_corpus/223.txt.gz", "spec/clean_corpus/225.txt.gz", "spec/clean_corpus/24.txt.gz", "spec/clean_corpus/26.txt.gz", "spec/clean_corpus/27.txt.gz", "spec/clean_corpus/29.txt.gz", "spec/clean_corpus/31.txt.gz", "spec/clean_corpus/33.txt.gz", "spec/clean_corpus/35.txt.gz", "spec/clean_corpus/37.txt.gz", "spec/clean_corpus/39.txt.gz", "spec/clean_corpus/41.txt.gz", "spec/clean_corpus/43.txt.gz", "spec/clean_corpus/45.txt.gz", "spec/clean_corpus/47.txt.gz", "spec/clean_corpus/49.txt.gz", "spec/clean_corpus/51.txt.gz", "spec/clean_corpus/53.txt.gz", "spec/clean_corpus/55.txt.gz", "spec/clean_corpus/57.txt.gz", "spec/clean_corpus/59.txt.gz", "spec/clean_corpus/61.txt.gz", "spec/clean_corpus/63.txt.gz", "spec/clean_corpus/65.txt.gz", "spec/clean_corpus/67.txt.gz", "spec/clean_corpus/69.txt.gz", "spec/clean_corpus/71.txt.gz", "spec/clean_corpus/73.txt.gz", "spec/clean_corpus/75.txt.gz", "spec/clean_corpus/77.txt.gz", "spec/clean_corpus/79.txt.gz", "spec/clean_corpus/81.txt.gz", "spec/clean_corpus/83.txt.gz", "spec/clean_corpus/85.txt.gz", "spec/clean_corpus/87.txt.gz", "spec/clean_corpus/89.txt.gz", "spec/clean_corpus/91.txt.gz", "spec/clean_corpus/93.txt.gz", "spec/clean_corpus/95.txt.gz", "spec/clean_corpus/97.txt.gz", "spec/clean_corpus/99.txt.gz", "spec/clean_corpus_spec.rb", "spec/despamilator_spec.rb", "spec/despamilator_validation_spec.rb", "spec/filters/funky_consonant_spec.rb", "spec/filters/html_tags_spec.rb", "spec/filters/ip_address_url_spec.rb", "spec/filters/long_words_spec.rb", "spec/filters/naughty_q_spec.rb", "spec/filters/naughty_words_spec.rb", "spec/filters/numbers_and_words_spec.rb", "spec/filters/script_tag_spec.rb", "spec/filters/shouting_spec.rb", "spec/filters/square_brackets_spec.rb", "spec/filters/urls_spec.rb", "spec/spam_corpus/0.txt.gz", "spec/spam_corpus/1.txt.gz", "spec/spam_corpus/10.txt.gz", "spec/spam_corpus/100.txt.gz", "spec/spam_corpus/102.txt.gz", "spec/spam_corpus/104.txt.gz", "spec/spam_corpus/106.txt.gz", "spec/spam_corpus/108.txt.gz", "spec/spam_corpus/11.txt.gz", "spec/spam_corpus/110.txt.gz", "spec/spam_corpus/112.txt.gz", "spec/spam_corpus/114.txt.gz", "spec/spam_corpus/116.txt.gz", "spec/spam_corpus/118.txt.gz", "spec/spam_corpus/12.txt.gz", "spec/spam_corpus/120.txt.gz", "spec/spam_corpus/122.txt.gz", "spec/spam_corpus/124.txt.gz", "spec/spam_corpus/126.txt.gz", "spec/spam_corpus/128.txt.gz", "spec/spam_corpus/13.txt.gz", "spec/spam_corpus/130.txt.gz", "spec/spam_corpus/132.txt.gz", "spec/spam_corpus/134.txt.gz", "spec/spam_corpus/136.txt.gz", "spec/spam_corpus/138.txt.gz", "spec/spam_corpus/14.txt.gz", "spec/spam_corpus/140.txt.gz", "spec/spam_corpus/142.txt.gz", "spec/spam_corpus/144.txt.gz", "spec/spam_corpus/146.txt.gz", "spec/spam_corpus/148.txt.gz", "spec/spam_corpus/15.txt.gz", "spec/spam_corpus/150.txt.gz", "spec/spam_corpus/152.txt.gz", "spec/spam_corpus/154.txt.gz", "spec/spam_corpus/156.txt.gz", "spec/spam_corpus/158.txt.gz", "spec/spam_corpus/16.txt.gz", "spec/spam_corpus/160.txt.gz", "spec/spam_corpus/162.txt.gz", "spec/spam_corpus/164.txt.gz", "spec/spam_corpus/166.txt.gz", "spec/spam_corpus/168.txt.gz", "spec/spam_corpus/170.txt.gz", "spec/spam_corpus/172.txt.gz", "spec/spam_corpus/174.txt.gz", "spec/spam_corpus/176.txt.gz", "spec/spam_corpus/178.txt.gz", "spec/spam_corpus/180.txt.gz", "spec/spam_corpus/182.txt.gz", "spec/spam_corpus/184.txt.gz", "spec/spam_corpus/186.txt.gz", "spec/spam_corpus/188.txt.gz", "spec/spam_corpus/190.txt.gz", "spec/spam_corpus/192.txt.gz", "spec/spam_corpus/194.txt.gz", "spec/spam_corpus/196.txt.gz", "spec/spam_corpus/198.txt.gz", "spec/spam_corpus/2.txt.gz", "spec/spam_corpus/200.txt.gz", "spec/spam_corpus/202.txt.gz", "spec/spam_corpus/204.txt.gz", "spec/spam_corpus/206.txt.gz", "spec/spam_corpus/208.txt.gz", "spec/spam_corpus/210.txt.gz", "spec/spam_corpus/212.txt.gz", "spec/spam_corpus/214.txt.gz", "spec/spam_corpus/216.txt.gz", "spec/spam_corpus/218.txt.gz", "spec/spam_corpus/220.txt.gz", "spec/spam_corpus/222.txt.gz", "spec/spam_corpus/224.txt.gz", "spec/spam_corpus/226.txt.gz", "spec/spam_corpus/228.txt.gz", "spec/spam_corpus/230.txt.gz", "spec/spam_corpus/232.txt.gz", "spec/spam_corpus/234.txt.gz", "spec/spam_corpus/236.txt.gz", "spec/spam_corpus/238.txt.gz", "spec/spam_corpus/240.txt.gz", "spec/spam_corpus/242.txt.gz", "spec/spam_corpus/244.txt.gz", "spec/spam_corpus/246.txt.gz", "spec/spam_corpus/248.txt.gz", "spec/spam_corpus/250.txt.gz", "spec/spam_corpus/252.txt.gz", "spec/spam_corpus/254.txt.gz", "spec/spam_corpus/256.txt.gz", "spec/spam_corpus/258.txt.gz", "spec/spam_corpus/260.txt.gz", "spec/spam_corpus/262.txt.gz", "spec/spam_corpus/264.txt.gz", "spec/spam_corpus/266.txt.gz", "spec/spam_corpus/268.txt.gz", "spec/spam_corpus/270.txt.gz", "spec/spam_corpus/272.txt.gz", "spec/spam_corpus/274.txt.gz", "spec/spam_corpus/276.txt.gz", "spec/spam_corpus/278.txt.gz", "spec/spam_corpus/28.txt.gz", "spec/spam_corpus/280.txt.gz", "spec/spam_corpus/282.txt.gz", "spec/spam_corpus/284.txt.gz", "spec/spam_corpus/286.txt.gz", "spec/spam_corpus/288.txt.gz", "spec/spam_corpus/290.txt.gz", "spec/spam_corpus/292.txt.gz", "spec/spam_corpus/294.txt.gz", "spec/spam_corpus/296.txt.gz", "spec/spam_corpus/298.txt.gz", "spec/spam_corpus/3.txt.gz", "spec/spam_corpus/30.txt.gz", "spec/spam_corpus/300.txt.gz", "spec/spam_corpus/302.txt.gz", "spec/spam_corpus/304.txt.gz", "spec/spam_corpus/306.txt.gz", "spec/spam_corpus/308.txt.gz", "spec/spam_corpus/310.txt.gz", "spec/spam_corpus/312.txt.gz", "spec/spam_corpus/314.txt.gz", "spec/spam_corpus/316.txt.gz", "spec/spam_corpus/318.txt.gz", "spec/spam_corpus/32.txt.gz", "spec/spam_corpus/320.txt.gz", "spec/spam_corpus/322.txt.gz", "spec/spam_corpus/324.txt.gz", "spec/spam_corpus/326.txt.gz", "spec/spam_corpus/328.txt.gz", "spec/spam_corpus/330.txt.gz", "spec/spam_corpus/332.txt.gz", "spec/spam_corpus/334.txt.gz", "spec/spam_corpus/336.txt.gz", "spec/spam_corpus/338.txt.gz", "spec/spam_corpus/34.txt.gz", "spec/spam_corpus/340.txt.gz", "spec/spam_corpus/342.txt.gz", "spec/spam_corpus/344.txt.gz", "spec/spam_corpus/346.txt.gz", "spec/spam_corpus/348.txt.gz", "spec/spam_corpus/350.txt.gz", "spec/spam_corpus/352.txt.gz", "spec/spam_corpus/354.txt.gz", "spec/spam_corpus/356.txt.gz", "spec/spam_corpus/358.txt.gz", "spec/spam_corpus/36.txt.gz", "spec/spam_corpus/360.txt.gz", "spec/spam_corpus/362.txt.gz", "spec/spam_corpus/364.txt.gz", "spec/spam_corpus/366.txt.gz", "spec/spam_corpus/368.txt.gz", "spec/spam_corpus/370.txt.gz", "spec/spam_corpus/372.txt.gz", "spec/spam_corpus/374.txt.gz", "spec/spam_corpus/376.txt.gz", "spec/spam_corpus/378.txt.gz", "spec/spam_corpus/38.txt.gz", "spec/spam_corpus/380.txt.gz", "spec/spam_corpus/382.txt.gz", "spec/spam_corpus/384.txt.gz", "spec/spam_corpus/386.txt.gz", "spec/spam_corpus/388.txt.gz", "spec/spam_corpus/390.txt.gz", "spec/spam_corpus/392.txt.gz", "spec/spam_corpus/394.txt.gz", "spec/spam_corpus/396.txt.gz", "spec/spam_corpus/398.txt.gz", "spec/spam_corpus/4.txt.gz", "spec/spam_corpus/40.txt.gz", "spec/spam_corpus/400.txt.gz", "spec/spam_corpus/402.txt.gz", "spec/spam_corpus/404.txt.gz", "spec/spam_corpus/406.txt.gz", "spec/spam_corpus/408.txt.gz", "spec/spam_corpus/410.txt.gz", "spec/spam_corpus/412.txt.gz", "spec/spam_corpus/414.txt.gz", "spec/spam_corpus/416.txt.gz", "spec/spam_corpus/418.txt.gz", "spec/spam_corpus/42.txt.gz", "spec/spam_corpus/420.txt.gz", "spec/spam_corpus/422.txt.gz", "spec/spam_corpus/424.txt.gz", "spec/spam_corpus/426.txt.gz", "spec/spam_corpus/428.txt.gz", "spec/spam_corpus/430.txt.gz", "spec/spam_corpus/432.txt.gz", "spec/spam_corpus/434.txt.gz", "spec/spam_corpus/436.txt.gz", "spec/spam_corpus/438.txt.gz", "spec/spam_corpus/44.txt.gz", "spec/spam_corpus/440.txt.gz", "spec/spam_corpus/442.txt.gz", "spec/spam_corpus/444.txt.gz", "spec/spam_corpus/446.txt.gz", "spec/spam_corpus/448.txt.gz", "spec/spam_corpus/450.txt.gz", "spec/spam_corpus/452.txt.gz", "spec/spam_corpus/454.txt.gz", "spec/spam_corpus/456.txt.gz", "spec/spam_corpus/458.txt.gz", "spec/spam_corpus/46.txt.gz", "spec/spam_corpus/460.txt.gz", "spec/spam_corpus/462.txt.gz", "spec/spam_corpus/464.txt.gz", "spec/spam_corpus/466.txt.gz", "spec/spam_corpus/468.txt.gz", "spec/spam_corpus/470.txt.gz", "spec/spam_corpus/472.txt.gz", "spec/spam_corpus/474.txt.gz", "spec/spam_corpus/476.txt.gz", "spec/spam_corpus/478.txt.gz", "spec/spam_corpus/48.txt.gz", "spec/spam_corpus/480.txt.gz", "spec/spam_corpus/482.txt.gz", "spec/spam_corpus/484.txt.gz", "spec/spam_corpus/486.txt.gz", "spec/spam_corpus/488.txt.gz", "spec/spam_corpus/490.txt.gz", "spec/spam_corpus/492.txt.gz", "spec/spam_corpus/494.txt.gz", "spec/spam_corpus/496.txt.gz", "spec/spam_corpus/498.txt.gz", "spec/spam_corpus/5.txt.gz", "spec/spam_corpus/50.txt.gz", "spec/spam_corpus/500.txt.gz", "spec/spam_corpus/502.txt.gz", "spec/spam_corpus/504.txt.gz", "spec/spam_corpus/506.txt.gz", "spec/spam_corpus/508.txt.gz", "spec/spam_corpus/510.txt.gz", "spec/spam_corpus/512.txt.gz", "spec/spam_corpus/514.txt.gz", "spec/spam_corpus/516.txt.gz", "spec/spam_corpus/518.txt.gz", "spec/spam_corpus/52.txt.gz", "spec/spam_corpus/520.txt.gz", "spec/spam_corpus/522.txt.gz", "spec/spam_corpus/524.txt.gz", "spec/spam_corpus/526.txt.gz", "spec/spam_corpus/528.txt.gz", "spec/spam_corpus/530.txt.gz", "spec/spam_corpus/532.txt.gz", "spec/spam_corpus/534.txt.gz", "spec/spam_corpus/536.txt.gz", "spec/spam_corpus/538.txt.gz", "spec/spam_corpus/54.txt.gz", "spec/spam_corpus/540.txt.gz", "spec/spam_corpus/542.txt.gz", "spec/spam_corpus/544.txt.gz", "spec/spam_corpus/546.txt.gz", "spec/spam_corpus/548.txt.gz", "spec/spam_corpus/550.txt.gz", "spec/spam_corpus/552.txt.gz", "spec/spam_corpus/554.txt.gz", "spec/spam_corpus/556.txt.gz", "spec/spam_corpus/558.txt.gz", "spec/spam_corpus/56.txt.gz", "spec/spam_corpus/560.txt.gz", "spec/spam_corpus/562.txt.gz", "spec/spam_corpus/564.txt.gz", "spec/spam_corpus/566.txt.gz", "spec/spam_corpus/568.txt.gz", "spec/spam_corpus/570.txt.gz", "spec/spam_corpus/572.txt.gz", "spec/spam_corpus/574.txt.gz", "spec/spam_corpus/576.txt.gz", "spec/spam_corpus/578.txt.gz", "spec/spam_corpus/58.txt.gz", "spec/spam_corpus/580.txt.gz", "spec/spam_corpus/582.txt.gz", "spec/spam_corpus/584.txt.gz", "spec/spam_corpus/586.txt.gz", "spec/spam_corpus/588.txt.gz", "spec/spam_corpus/590.txt.gz", "spec/spam_corpus/592.txt.gz", "spec/spam_corpus/594.txt.gz", "spec/spam_corpus/596.txt.gz", "spec/spam_corpus/598.txt.gz", "spec/spam_corpus/6.txt.gz", "spec/spam_corpus/60.txt.gz", "spec/spam_corpus/600.txt.gz", "spec/spam_corpus/602.txt.gz", "spec/spam_corpus/604.txt.gz", "spec/spam_corpus/606.txt.gz", "spec/spam_corpus/608.txt.gz", "spec/spam_corpus/610.txt.gz", "spec/spam_corpus/612.txt.gz", "spec/spam_corpus/614.txt.gz", "spec/spam_corpus/616.txt.gz", "spec/spam_corpus/618.txt.gz", "spec/spam_corpus/62.txt.gz", "spec/spam_corpus/620.txt.gz", "spec/spam_corpus/622.txt.gz", "spec/spam_corpus/624.txt.gz", "spec/spam_corpus/626.txt.gz", "spec/spam_corpus/628.txt.gz", "spec/spam_corpus/630.txt.gz", "spec/spam_corpus/632.txt.gz", "spec/spam_corpus/634.txt.gz", "spec/spam_corpus/636.txt.gz", "spec/spam_corpus/638.txt.gz", "spec/spam_corpus/64.txt.gz", "spec/spam_corpus/640.txt.gz", "spec/spam_corpus/642.txt.gz", "spec/spam_corpus/644.txt.gz", "spec/spam_corpus/646.txt.gz", "spec/spam_corpus/648.txt.gz", "spec/spam_corpus/650.txt.gz", "spec/spam_corpus/652.txt.gz", "spec/spam_corpus/654.txt.gz", "spec/spam_corpus/656.txt.gz", "spec/spam_corpus/658.txt.gz", "spec/spam_corpus/66.txt.gz", "spec/spam_corpus/660.txt.gz", "spec/spam_corpus/662.txt.gz", "spec/spam_corpus/664.txt.gz", "spec/spam_corpus/666.txt.gz", "spec/spam_corpus/668.txt.gz", "spec/spam_corpus/670.txt.gz", "spec/spam_corpus/672.txt.gz", "spec/spam_corpus/674.txt.gz", "spec/spam_corpus/676.txt.gz", "spec/spam_corpus/678.txt.gz", "spec/spam_corpus/68.txt.gz", "spec/spam_corpus/680.txt.gz", "spec/spam_corpus/682.txt.gz", "spec/spam_corpus/684.txt.gz", "spec/spam_corpus/686.txt.gz", "spec/spam_corpus/688.txt.gz", "spec/spam_corpus/690.txt.gz", "spec/spam_corpus/692.txt.gz", "spec/spam_corpus/694.txt.gz", "spec/spam_corpus/696.txt.gz", "spec/spam_corpus/698.txt.gz", "spec/spam_corpus/7.txt.gz", "spec/spam_corpus/70.txt.gz", "spec/spam_corpus/700.txt.gz", "spec/spam_corpus/702.txt.gz", "spec/spam_corpus/704.txt.gz", "spec/spam_corpus/706.txt.gz", "spec/spam_corpus/708.txt.gz", "spec/spam_corpus/710.txt.gz", "spec/spam_corpus/712.txt.gz", "spec/spam_corpus/714.txt.gz", "spec/spam_corpus/716.txt.gz", "spec/spam_corpus/718.txt.gz", "spec/spam_corpus/72.txt.gz", "spec/spam_corpus/720.txt.gz", "spec/spam_corpus/722.txt.gz", "spec/spam_corpus/724.txt.gz", "spec/spam_corpus/726.txt.gz", "spec/spam_corpus/728.txt.gz", "spec/spam_corpus/730.txt.gz", "spec/spam_corpus/732.txt.gz", "spec/spam_corpus/734.txt.gz", "spec/spam_corpus/736.txt.gz", "spec/spam_corpus/738.txt.gz", "spec/spam_corpus/74.txt.gz", "spec/spam_corpus/740.txt.gz", "spec/spam_corpus/742.txt.gz", "spec/spam_corpus/744.txt.gz", "spec/spam_corpus/746.txt.gz", "spec/spam_corpus/748.txt.gz", "spec/spam_corpus/750.txt.gz", "spec/spam_corpus/752.txt.gz", "spec/spam_corpus/754.txt.gz", "spec/spam_corpus/756.txt.gz", "spec/spam_corpus/758.txt.gz", "spec/spam_corpus/76.txt.gz", "spec/spam_corpus/760.txt.gz", "spec/spam_corpus/762.txt.gz", "spec/spam_corpus/764.txt.gz", "spec/spam_corpus/766.txt.gz", "spec/spam_corpus/768.txt.gz", "spec/spam_corpus/770.txt.gz", "spec/spam_corpus/772.txt.gz", "spec/spam_corpus/774.txt.gz", "spec/spam_corpus/776.txt.gz", "spec/spam_corpus/778.txt.gz", "spec/spam_corpus/78.txt.gz", "spec/spam_corpus/780.txt.gz", "spec/spam_corpus/782.txt.gz", "spec/spam_corpus/784.txt.gz", "spec/spam_corpus/786.txt.gz", "spec/spam_corpus/788.txt.gz", "spec/spam_corpus/790.txt.gz", "spec/spam_corpus/792.txt.gz", "spec/spam_corpus/794.txt.gz", "spec/spam_corpus/796.txt.gz", "spec/spam_corpus/798.txt.gz", "spec/spam_corpus/8.txt.gz", "spec/spam_corpus/80.txt.gz", "spec/spam_corpus/800.txt.gz", "spec/spam_corpus/802.txt.gz", "spec/spam_corpus/804.txt.gz", "spec/spam_corpus/806.txt.gz", "spec/spam_corpus/808.txt.gz", "spec/spam_corpus/810.txt.gz", "spec/spam_corpus/812.txt.gz", "spec/spam_corpus/814.txt.gz", "spec/spam_corpus/816.txt.gz", "spec/spam_corpus/818.txt.gz", "spec/spam_corpus/82.txt.gz", "spec/spam_corpus/820.txt.gz", "spec/spam_corpus/822.txt.gz", "spec/spam_corpus/824.txt.gz", "spec/spam_corpus/826.txt.gz", "spec/spam_corpus/828.txt.gz", "spec/spam_corpus/830.txt.gz", "spec/spam_corpus/832.txt.gz", "spec/spam_corpus/834.txt.gz", "spec/spam_corpus/836.txt.gz", "spec/spam_corpus/838.txt.gz", "spec/spam_corpus/84.txt.gz", "spec/spam_corpus/840.txt.gz", "spec/spam_corpus/842.txt.gz", "spec/spam_corpus/844.txt.gz", "spec/spam_corpus/846.txt.gz", "spec/spam_corpus/848.txt.gz", "spec/spam_corpus/850.txt.gz", "spec/spam_corpus/852.txt.gz", "spec/spam_corpus/854.txt.gz", "spec/spam_corpus/856.txt.gz", "spec/spam_corpus/858.txt.gz", "spec/spam_corpus/86.txt.gz", "spec/spam_corpus/860.txt.gz", "spec/spam_corpus/862.txt.gz", "spec/spam_corpus/864.txt.gz", "spec/spam_corpus/866.txt.gz", "spec/spam_corpus/868.txt.gz", "spec/spam_corpus/870.txt.gz", "spec/spam_corpus/872.txt.gz", "spec/spam_corpus/874.txt.gz", "spec/spam_corpus/876.txt.gz", "spec/spam_corpus/878.txt.gz", "spec/spam_corpus/88.txt.gz", "spec/spam_corpus/880.txt.gz", "spec/spam_corpus/882.txt.gz", "spec/spam_corpus/884.txt.gz", "spec/spam_corpus/886.txt.gz", "spec/spam_corpus/888.txt.gz", "spec/spam_corpus/890.txt.gz", "spec/spam_corpus/892.txt.gz", "spec/spam_corpus/894.txt.gz", "spec/spam_corpus/896.txt.gz", "spec/spam_corpus/898.txt.gz", "spec/spam_corpus/9.txt.gz", "spec/spam_corpus/90.txt.gz", "spec/spam_corpus/900.txt.gz", "spec/spam_corpus/902.txt.gz", "spec/spam_corpus/904.txt.gz", "spec/spam_corpus/906.txt.gz", "spec/spam_corpus/908.txt.gz", "spec/spam_corpus/910.txt.gz", "spec/spam_corpus/912.txt.gz", "spec/spam_corpus/914.txt.gz", "spec/spam_corpus/916.txt.gz", "spec/spam_corpus/918.txt.gz", "spec/spam_corpus/92.txt.gz", "spec/spam_corpus/920.txt.gz", "spec/spam_corpus/922.txt.gz", "spec/spam_corpus/924.txt.gz", "spec/spam_corpus/926.txt.gz", "spec/spam_corpus/928.txt.gz", "spec/spam_corpus/930.txt.gz", "spec/spam_corpus/932.txt.gz", "spec/spam_corpus/934.txt.gz", "spec/spam_corpus/936.txt.gz", "spec/spam_corpus/938.txt.gz", "spec/spam_corpus/94.txt.gz", "spec/spam_corpus/940.txt.gz", "spec/spam_corpus/942.txt.gz", "spec/spam_corpus/944.txt.gz", "spec/spam_corpus/946.txt.gz", "spec/spam_corpus/948.txt.gz", "spec/spam_corpus/950.txt.gz", "spec/spam_corpus/952.txt.gz", "spec/spam_corpus/954.txt.gz", "spec/spam_corpus/956.txt.gz", "spec/spam_corpus/958.txt.gz", "spec/spam_corpus/96.txt.gz", "spec/spam_corpus/960.txt.gz", "spec/spam_corpus/962.txt.gz", "spec/spam_corpus/964.txt.gz", "spec/spam_corpus/966.txt.gz", "spec/spam_corpus/968.txt.gz", "spec/spam_corpus/970.txt.gz", "spec/spam_corpus/972.txt.gz", "spec/spam_corpus/974.txt.gz", "spec/spam_corpus/98.txt.gz", "spec/spam_corpus/debugyouradd.com.txt.gz", "spec/spam_corpus/humandesignconsulting.comm.txt.gz", "spec/spam_corpus_spec.rb", "spec/spec.opts", "spec/spec_helper.rb", "tasks/rspec.rake"]
16
- s.homepage = %q{http://github.com/moowahaha/despamliator}
17
- s.post_install_message = %q{PostInstall.txt}
18
- s.rdoc_options = ["--main", "README.rdoc"]
19
- s.require_paths = ["lib"]
20
- s.rubyforge_project = %q{despamilator}
21
- s.rubygems_version = %q{1.3.6}
22
- s.summary = %q{Despamilator is a plugin based spam detector designed for use on your web forms borne out of two annoyances: Spam being submitted in my web forms and CAPTCHAS being intrusive}
23
-
24
- if s.respond_to? :specification_version then
25
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
26
- s.specification_version = 3
27
-
28
- if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
29
- s.add_development_dependency(%q<rubyforge>, [">= 2.0.4"])
30
- s.add_development_dependency(%q<hoe>, [">= 2.6.1"])
31
- else
32
- s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
33
- s.add_dependency(%q<hoe>, [">= 2.6.1"])
34
- end
35
- else
36
- s.add_dependency(%q<rubyforge>, [">= 2.0.4"])
37
- s.add_dependency(%q<hoe>, [">= 2.6.1"])
38
- end
39
- end