spamtrap 0.0.5 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: ad55c17c774c1af60996ec3e3047783838c87e48
4
+ data.tar.gz: d475693c3fc540fadc0526d5f5a408384bdef3ea
5
+ SHA512:
6
+ metadata.gz: 7463b9b3ec741001edb8cea2ab2396f944f5a3828b6890456e28e57c50dadd411204558633b1f541c0cde5a8589245128686aaf8da35e53053a3db7f79a72d8c
7
+ data.tar.gz: 2ef9e38e71737eb405981ac44bb569bc8b4e534b6fa8ca04111929a06624cbadd822b29091ba2d81617b429a297af9eeef8c31d75bc6e47df6e1802803c2f7d9
@@ -1,17 +1,13 @@
1
1
  module Spamtrap::Controller
2
-
2
+
3
3
  def self.included(base)
4
4
  base.extend ActsAsMethods
5
5
  end
6
-
6
+
7
7
  module ActsAsMethods
8
- def spamtrap(actions, honeypot='spamtrap', &block)
9
- actions = [actions] unless actions.is_a?(Array)
10
- raise 'Spamtrap must have actions defined.' if actions.empty?
11
- before_filter(:only => actions) do |controller|
12
- if block_given?
13
- controller.instance_eval(&block)
14
- end
8
+ def spamtrap(honeypot = 'spamtrap', options = {}, &block)
9
+ before_filter(options) do |controller|
10
+ controller.instance_eval(&block) if block_given?
15
11
  controller.instance_eval do
16
12
  if params[honeypot].present?
17
13
  Rails.logger.warn "Spamtrap triggered by #{request.remote_ip}."
@@ -21,7 +17,7 @@ module Spamtrap::Controller
21
17
  end
22
18
  end
23
19
  end
24
-
20
+
25
21
  end
26
22
 
27
23
  ActionController::Base.send :include, Spamtrap::Controller
@@ -3,4 +3,15 @@ class ActionView::Helpers::FormBuilder
3
3
  options.reverse_merge!({:class => 'spamtrap'})
4
4
  @template.text_area_tag(parameter, nil, options)
5
5
  end
6
+
7
+ # # def nonce(method, tag_value, options = {})
8
+ # def cryptographic_nonce(options = {})
9
+ # # @template.hidden_field(@object_name, method, tag_value, objectify_options(options))
10
+ # now, random = Time.now.to_i, SecureRandom.hex
11
+ # # OpenSSL::HMAC.hexdigest()
12
+ # cryptographic_nonce = Digest::MD5.hexdigest([timestamp, Rails.application.config.secret_key_base].join(':'))
13
+ # @template.hidden_field(@object_name, :timestamp, now, objectify_options(options)) +
14
+ # @template.hidden_field(@object_name, :random, random, objectify_options(options)) +
15
+ # @template.hidden_field(@object_name, :spinner, cryptographic_nonce(now), objectify_options(options))
16
+ # end
6
17
  end
@@ -1,5 +1,5 @@
1
1
  module Spamtrap
2
-
3
- VERSION = '0.0.5'
4
-
5
- end
2
+
3
+ VERSION = '0.1.0'
4
+
5
+ end
@@ -2,12 +2,6 @@ require File.join(File.dirname(__FILE__), 'test_helper')
2
2
 
3
3
  class ControllerTest < Test::Unit::TestCase
4
4
 
5
- def setup
6
- end
7
-
8
- def teardown
9
- end
10
-
11
5
  def test_foobar
12
6
  assert true
13
7
  assert_equal "hello", "hello"
data/test/test_helper.rb CHANGED
@@ -1,12 +1,4 @@
1
- $: << File.join(File.dirname(__FILE__), '..', 'lib')
2
- $: << File.join(File.dirname(__FILE__))
3
-
4
1
  require 'rubygems'
5
- require 'test/unit'
6
- # require 'active_support'
7
2
  require 'action_controller'
8
- # require 'action_controller/test_case'
9
- # require 'action_view'
10
- # require 'active_record'
11
- # require 'ruby-debug'
3
+ require 'test/unit'
12
4
  require 'spamtrap'
metadata CHANGED
@@ -1,89 +1,66 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: spamtrap
3
- version: !ruby/object:Gem::Version
4
- hash: 21
5
- prerelease:
6
- segments:
7
- - 0
8
- - 0
9
- - 5
10
- version: 0.0.5
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - Cedric Howe
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2011-08-10 00:00:00 -04:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- version_requirements: &id001 !ruby/object:Gem::Requirement
23
- none: false
24
- requirements:
25
- - - ">="
26
- - !ruby/object:Gem::Version
27
- hash: 5
28
- segments:
29
- - 2
30
- - 3
31
- version: "2.3"
11
+ date: 2014-04-11 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
32
14
  name: rails
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
33
20
  type: :runtime
34
21
  prerelease: false
35
- requirement: *id001
36
- description: Create bogus form fields (honeypots) that will be filled-in by spambots. When submitted, the form data will be discarded while still returning a 200 response.
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ description: Create bogus form fields (honeypots) that will be filled-in by spambots.
28
+ When submitted, the form data will be discarded while still returning a 200 response.
37
29
  email: cedric@freezerbox.com
38
30
  executables: []
39
-
40
31
  extensions: []
41
-
42
32
  extra_rdoc_files: []
43
-
44
- files:
33
+ files:
34
+ - lib/spamtrap.rb
45
35
  - lib/spamtrap/controller.rb
46
36
  - lib/spamtrap/helper.rb
47
37
  - lib/spamtrap/version.rb
48
- - lib/spamtrap.rb
49
38
  - test/controller_test.rb
50
39
  - test/test_helper.rb
51
- has_rdoc: true
52
40
  homepage: http://github.com/cedric/spamtrap/
53
- licenses: []
54
-
41
+ licenses:
42
+ - MIT
43
+ metadata: {}
55
44
  post_install_message:
56
45
  rdoc_options: []
57
-
58
- require_paths:
46
+ require_paths:
59
47
  - lib
60
- required_ruby_version: !ruby/object:Gem::Requirement
61
- none: false
62
- requirements:
48
+ required_ruby_version: !ruby/object:Gem::Requirement
49
+ requirements:
63
50
  - - ">="
64
- - !ruby/object:Gem::Version
65
- hash: 3
66
- segments:
67
- - 0
68
- version: "0"
69
- required_rubygems_version: !ruby/object:Gem::Requirement
70
- none: false
71
- requirements:
51
+ - !ruby/object:Gem::Version
52
+ version: '0'
53
+ required_rubygems_version: !ruby/object:Gem::Requirement
54
+ requirements:
72
55
  - - ">="
73
- - !ruby/object:Gem::Version
74
- hash: 23
75
- segments:
76
- - 1
77
- - 3
78
- - 6
56
+ - !ruby/object:Gem::Version
79
57
  version: 1.3.6
80
58
  requirements: []
81
-
82
- rubyforge_project: spamtrap
83
- rubygems_version: 1.6.2
59
+ rubyforge_project:
60
+ rubygems_version: 2.2.2
84
61
  signing_key:
85
- specification_version: 3
62
+ specification_version: 4
86
63
  summary: Simple spamtrap for spambots.
87
- test_files:
64
+ test_files:
88
65
  - test/controller_test.rb
89
66
  - test/test_helper.rb