invisible_captcha 0.1.3 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -5,7 +5,13 @@ Simple protection for ActiveModel forms using honeypot strategy.
5
5
  Add this line to you Gemfile:
6
6
 
7
7
  ```
8
- gem 'invisible_captcha', :require => 'invisible_captcha'
8
+ gem 'invisible_captcha'
9
+ ```
10
+
11
+ Or install gem:
12
+
13
+ ```
14
+ gem install invisible_captcha
9
15
  ```
10
16
 
11
17
  ## Usage
@@ -13,9 +19,13 @@ In your form:
13
19
 
14
20
  ```ruby
15
21
  <%= form_for(@topic) do |f| %>
16
- ...
17
- <%= invisible_captcha 'topic', 'subtitle' %>
18
- ...
22
+
23
+ <!-- use form helper -->
24
+ <%= f.invisible_captcha :subtitle %>
25
+
26
+ <!-- or use view helper -->
27
+ <%= invisible_captcha :topic, :subtitle %>
28
+
19
29
  <% end %>
20
30
  ```
21
31
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.3
1
+ 0.2.0
@@ -5,25 +5,24 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "invisible_captcha"
8
- s.version = "0.1.3"
8
+ s.version = "0.2.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Marc Anguera Insa"]
12
- s.date = "2013-04-08"
12
+ s.date = "2013-06-04"
13
13
  s.description = "Simple protection for ActiveModel forms using honeypot strategy."
14
14
  s.email = "srmarc.ai@gmail.com"
15
15
  s.extra_rdoc_files = [
16
16
  "README.md"
17
17
  ]
18
18
  s.files = [
19
- ".document",
20
19
  "Gemfile",
21
- "Gemfile.lock",
22
20
  "README.md",
23
21
  "Rakefile",
24
22
  "VERSION",
25
23
  "invisible_captcha.gemspec",
26
24
  "lib/invisible_captcha.rb",
25
+ "lib/invisible_captcha/form_helpers.rb",
27
26
  "lib/invisible_captcha/validator.rb",
28
27
  "lib/invisible_captcha/view_helpers.rb"
29
28
  ]
@@ -1,3 +1,4 @@
1
1
  GEM_PATH = File.dirname(__FILE__) + "/invisible_captcha"
2
2
  require "#{GEM_PATH}/view_helpers.rb"
3
+ require "#{GEM_PATH}/form_helpers.rb"
3
4
  require "#{GEM_PATH}/validator.rb"
@@ -0,0 +1,11 @@
1
+ module InvisibleCaptcha
2
+ module FormHelpers
3
+
4
+ def invisible_captcha(method)
5
+ @template.invisible_captcha(self.object_name, method)
6
+ end
7
+
8
+ end
9
+ end
10
+
11
+ ActionView::Helpers::FormBuilder.send :include, InvisibleCaptcha::FormHelpers
@@ -11,7 +11,8 @@ module InvisibleCaptcha
11
11
  end
12
12
 
13
13
  private
14
- def robot_presence? object, attribute
14
+
15
+ def robot_presence?(object, attribute)
15
16
  object.send(attribute).present?
16
17
  end
17
18
 
@@ -1,16 +1,22 @@
1
1
  module InvisibleCaptcha
2
2
  module ViewHelpers
3
3
 
4
- def invisible_captcha model_name, attr_name
4
+ def invisible_captcha(model_name, method)
5
+ build_invisible_captcha(model_name.to_s, method.to_s)
6
+ end
7
+
8
+ protected
9
+
10
+ def build_invisible_captcha(model_name, method)
5
11
  html_ids = []
6
12
  { :"#{model_name}" => 'If you are a human, do not fill in this field' }.collect do |field, label|
7
13
  html_ids << (html_id = "#{field}_#{Time.now.to_i}")
8
- content_tag :div, :id => html_id do
14
+ content_tag(:div, :id => html_id) do
9
15
  content_tag(:style, :type => 'text/css', :media => 'screen', :scoped => "scoped") do
10
16
  "#{html_ids.map { |i| "##{i}" }.join(', ')} { display:none; }"
11
17
  end +
12
- label_tag("#{field}_#{attr_name}", label) +
13
- text_field_tag("#{model_name}[#{attr_name}]")
18
+ label_tag("#{field}_#{method}", label) +
19
+ text_field_tag("#{model_name}[#{method}]")
14
20
  end
15
21
  end.join.html_safe
16
22
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: invisible_captcha
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-08 00:00:00.000000000 Z
12
+ date: 2013-06-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -82,14 +82,13 @@ extensions: []
82
82
  extra_rdoc_files:
83
83
  - README.md
84
84
  files:
85
- - .document
86
85
  - Gemfile
87
- - Gemfile.lock
88
86
  - README.md
89
87
  - Rakefile
90
88
  - VERSION
91
89
  - invisible_captcha.gemspec
92
90
  - lib/invisible_captcha.rb
91
+ - lib/invisible_captcha/form_helpers.rb
93
92
  - lib/invisible_captcha/validator.rb
94
93
  - lib/invisible_captcha/view_helpers.rb
95
94
  homepage: http://github.com/markets/invisible_captcha
@@ -107,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
107
106
  version: '0'
108
107
  segments:
109
108
  - 0
110
- hash: -439112639
109
+ hash: 922774803
111
110
  required_rubygems_version: !ruby/object:Gem::Requirement
112
111
  none: false
113
112
  requirements:
data/.document DELETED
@@ -1,5 +0,0 @@
1
- lib/**/*.rb
2
- bin/*
3
- -
4
- features/**/*.feature
5
- LICENSE.txt
data/Gemfile.lock DELETED
@@ -1,39 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- activemodel (3.2.9)
5
- activesupport (= 3.2.9)
6
- builder (~> 3.0.0)
7
- activesupport (3.2.9)
8
- i18n (~> 0.6)
9
- multi_json (~> 1.0)
10
- builder (3.0.4)
11
- columnize (0.3.6)
12
- debugger (1.2.1)
13
- columnize (>= 0.3.1)
14
- debugger-linecache (~> 1.1.1)
15
- debugger-ruby_core_source (~> 1.1.4)
16
- debugger-linecache (1.1.2)
17
- debugger-ruby_core_source (>= 1.1.1)
18
- debugger-ruby_core_source (1.1.4)
19
- git (1.2.5)
20
- i18n (0.6.1)
21
- jeweler (1.8.4)
22
- bundler (~> 1.0)
23
- git (>= 1.2.5)
24
- rake
25
- rdoc
26
- json (1.7.5)
27
- multi_json (1.3.7)
28
- rake (10.0.2)
29
- rdoc (3.12)
30
- json (~> 1.4)
31
-
32
- PLATFORMS
33
- ruby
34
-
35
- DEPENDENCIES
36
- activemodel
37
- bundler
38
- debugger
39
- jeweler