recaptcha-mailhide 0.1.1 → 1.0.0
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.
- checksums.yaml +7 -0
- data/.gitignore +38 -0
- data/CHANGELOG.rdoc +10 -0
- data/Gemfile +2 -6
- data/README.rdoc +52 -18
- data/Rakefile +10 -42
- data/lib/recaptcha_mailhide.rb +6 -0
- data/lib/recaptcha_mailhide/configuration.rb +11 -1
- data/lib/recaptcha_mailhide/encrypt.rb +1 -1
- data/lib/recaptcha_mailhide/helpers/action_view_helper.rb +96 -0
- data/lib/recaptcha_mailhide/railtie.rb +9 -0
- data/lib/recaptcha_mailhide/url.rb +4 -4
- data/lib/recaptcha_mailhide/version.rb +3 -0
- data/recaptcha-mailhide.gemspec +20 -57
- data/spec/recaptcha_mailhide/url_spec.rb +1 -1
- metadata +38 -41
- data/Gemfile.lock +0 -30
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 4c98860c5c0ad248c68ae498d7d4d23b0fa65fc4
|
4
|
+
data.tar.gz: 096afdf3b50cef502af4dc9d33a168ce1bde4118
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 696b149f31ca6022ceabe2c2f63316e5bba031be02a075b4bc9d844507695178f04e530e559d734bfa46c3653f969490f0e57149dc2ab03a9f6ca674306d7f6b
|
7
|
+
data.tar.gz: 56944e0c7996ec8cafa0c83eafd62b97fea0643d254a86ff037bae88d01c6d42eb07f3ae52893132a242f6bba2f2c41e89ff98c1ec6ac121e92005f1473b773c
|
data/.gitignore
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
Gemfile.lock
|
2
|
+
|
3
|
+
# rcov generated
|
4
|
+
coverage
|
5
|
+
|
6
|
+
# rdoc generated
|
7
|
+
rdoc
|
8
|
+
|
9
|
+
# yard generated
|
10
|
+
doc
|
11
|
+
.yardoc
|
12
|
+
|
13
|
+
# bundler
|
14
|
+
.bundle
|
15
|
+
|
16
|
+
# Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
|
17
|
+
#
|
18
|
+
# * Create a file at ~/.gitignore
|
19
|
+
# * Include files you want ignored
|
20
|
+
# * Run: git config --global core.excludesfile ~/.gitignore
|
21
|
+
#
|
22
|
+
# After doing this, these files will be ignored in all your git projects,
|
23
|
+
# saving you from having to 'pollute' every project you touch with them
|
24
|
+
#
|
25
|
+
# Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
|
26
|
+
#
|
27
|
+
# For MacOS:
|
28
|
+
#
|
29
|
+
.DS_Store
|
30
|
+
|
31
|
+
# For vim:
|
32
|
+
*.swp
|
33
|
+
|
34
|
+
# For redcar:
|
35
|
+
.redcar
|
36
|
+
|
37
|
+
# For rubinius:
|
38
|
+
*.rbc
|
data/CHANGELOG.rdoc
ADDED
data/Gemfile
CHANGED
data/README.rdoc
CHANGED
@@ -1,34 +1,68 @@
|
|
1
1
|
= ReCAPTCHA Mailhide
|
2
2
|
|
3
|
-
This gem provides support for ReCAPTCHA's Mailhide API.
|
4
|
-
|
5
|
-
At the moment it only generates URLs, it doesn't provide any link helpers, so it's completely framework agnostic (and a bit on the lower side of features).
|
3
|
+
This gem provides Ruby (and Rails) support for ReCAPTCHA's Mailhide API.
|
6
4
|
|
7
5
|
== Installation
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
gem install recaptcha-mailhide
|
7
|
+
Add this to your Gemfile:
|
12
8
|
|
13
|
-
|
14
|
-
|
15
|
-
gem 'recaptcha-mailhide'
|
9
|
+
gem 'recaptcha-mailhide'
|
16
10
|
|
17
11
|
== Configuration
|
18
12
|
|
19
|
-
|
13
|
+
Add this somewhere (if you're using Rails put it in
|
14
|
+
config/initializers/recaptcha_mailhide.rb):
|
15
|
+
|
16
|
+
RecaptchaMailhide.configure do |c|
|
17
|
+
c.private_key = '...'
|
18
|
+
c.public_key = '...'
|
19
|
+
end
|
20
20
|
|
21
|
-
|
22
|
-
|
23
|
-
c.public_key = 'your public key here'
|
24
|
-
end
|
21
|
+
If you need a set of public/private keys get them from
|
22
|
+
https://www.google.com/recaptcha/mailhide/apikey
|
25
23
|
|
26
24
|
== Usage
|
27
25
|
|
28
|
-
|
26
|
+
=== In Rails views
|
27
|
+
|
28
|
+
recaptcha_mailhide('foo@example.com')
|
29
|
+
|
30
|
+
You can also provide content as a method argument or a block (just like with
|
31
|
+
<code>link_to</code>):
|
32
|
+
|
33
|
+
# Content in argument
|
34
|
+
recaptcha_mailhide('Click to view email', 'foo@example.com')
|
35
|
+
|
36
|
+
recaptcha_mailhide('foo@example.com') do
|
37
|
+
# Content here
|
38
|
+
end
|
39
|
+
|
40
|
+
You can also provide options (they get forwarded to <code>link_to</code>):
|
41
|
+
|
42
|
+
recaptcha_mailhide('foo@example.com', class: 'hidden-email', target: '_blank')
|
43
|
+
|
44
|
+
In addition it accepts a <code>:popup</code> option that will make the link
|
45
|
+
open in a popup window (requires JavaScript):
|
46
|
+
|
47
|
+
recaptcha_mailhide('foo@example.com', popup: true)
|
48
|
+
|
49
|
+
# Configuring popup window size
|
50
|
+
recaptcha_mailhide('foo@example.com', popup: { width: 600, height: 600 })
|
51
|
+
|
52
|
+
=== Pure Ruby
|
53
|
+
|
54
|
+
Use the following to get just the ReCAPTCHA Mailhide URL (without a link tag):
|
55
|
+
|
56
|
+
RecaptchaMailhide.url_for(email)
|
57
|
+
|
58
|
+
== TODO
|
59
|
+
|
60
|
+
* Tests for Rails helpers
|
61
|
+
* Basic helpers (non-dependent on Rails)
|
62
|
+
* Rails generator for initializer with auto-fetching of private/public keys
|
29
63
|
|
30
|
-
|
64
|
+
== Copyright
|
31
65
|
|
32
|
-
|
66
|
+
This gem is Copyright (c) 2012 Pedro Fayolle. See LICENSE.txt for further details.
|
33
67
|
|
34
|
-
|
68
|
+
ReCAPTCHA Mailhide is Copyright (c) Google, Inc. This is gem is NOT affiliated with Google, Inc.
|
data/Rakefile
CHANGED
@@ -1,50 +1,18 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'bundler'
|
5
1
|
begin
|
6
|
-
|
7
|
-
rescue
|
8
|
-
|
9
|
-
$stderr.puts "Run `bundle install` to install missing gems"
|
10
|
-
exit e.status_code
|
11
|
-
end
|
12
|
-
require 'rake'
|
13
|
-
|
14
|
-
require 'jeweler'
|
15
|
-
Jeweler::Tasks.new do |gem|
|
16
|
-
# gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
|
17
|
-
gem.name = "recaptcha-mailhide"
|
18
|
-
gem.homepage = "http://github.com/pilaf/recaptcha-mailhide"
|
19
|
-
gem.license = "MIT"
|
20
|
-
gem.summary = %Q{ReCAPTCHA Mailhide for Ruby}
|
21
|
-
gem.description = %Q{Ruby implementation of ReCAPTCHA Mailhide's API}
|
22
|
-
gem.email = "pfayolle@gmail.com"
|
23
|
-
gem.authors = ["Pedro Fayolle"]
|
24
|
-
gem.files.include Dir["lib/**/*.rb"]
|
25
|
-
# dependencies defined in Gemfile
|
26
|
-
end
|
27
|
-
Jeweler::RubygemsDotOrgTasks.new
|
28
|
-
|
29
|
-
require 'rspec/core'
|
30
|
-
require 'rspec/core/rake_task'
|
31
|
-
RSpec::Core::RakeTask.new(:spec) do |spec|
|
32
|
-
spec.pattern = FileList['spec/**/*_spec.rb']
|
2
|
+
require 'bundler/setup'
|
3
|
+
rescue LoadError
|
4
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
33
5
|
end
|
34
6
|
|
35
|
-
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
36
|
-
spec.pattern = 'spec/**/*_spec.rb'
|
37
|
-
spec.rcov = true
|
38
|
-
end
|
39
|
-
|
40
|
-
task :default => :spec
|
41
|
-
|
42
7
|
require 'rdoc/task'
|
43
|
-
Rake::RDocTask.new do |rdoc|
|
44
|
-
version = File.exist?('VERSION') ? File.read('VERSION') : ""
|
45
8
|
|
9
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
10
|
+
require 'recaptcha_mailhide/version'
|
46
11
|
rdoc.rdoc_dir = 'rdoc'
|
47
|
-
rdoc.title
|
48
|
-
rdoc.
|
12
|
+
rdoc.title = "recaptcha-mailhide #{RecaptchaMailhide::VERSION}"
|
13
|
+
rdoc.options << '--line-numbers'
|
14
|
+
rdoc.rdoc_files.include('README.rdoc')
|
49
15
|
rdoc.rdoc_files.include('lib/**/*.rb')
|
50
16
|
end
|
17
|
+
|
18
|
+
Bundler::GemHelper.install_tasks
|
data/lib/recaptcha_mailhide.rb
CHANGED
@@ -2,6 +2,8 @@ require 'recaptcha_mailhide/configuration'
|
|
2
2
|
require 'recaptcha_mailhide/encrypt'
|
3
3
|
require 'recaptcha_mailhide/url'
|
4
4
|
|
5
|
+
require 'recaptcha_mailhide/railtie' if defined?(Rails)
|
6
|
+
|
5
7
|
module RecaptchaMailhide
|
6
8
|
def self.configuration
|
7
9
|
@configuration ||= Configuration.new
|
@@ -10,4 +12,8 @@ module RecaptchaMailhide
|
|
10
12
|
def self.configure
|
11
13
|
yield configuration
|
12
14
|
end
|
15
|
+
|
16
|
+
def self.url_for(email_address)
|
17
|
+
URL.url_for(email_address)
|
18
|
+
end
|
13
19
|
end
|
@@ -1,5 +1,15 @@
|
|
1
1
|
module RecaptchaMailhide
|
2
2
|
class Configuration
|
3
|
-
|
3
|
+
attr_writer :private_key, :public_key
|
4
|
+
|
5
|
+
def private_key
|
6
|
+
raise "RecaptchaMailhide's private_key is not set. If you're using Rails add an initializer to config/initializers." unless @private_key
|
7
|
+
@private_key
|
8
|
+
end
|
9
|
+
|
10
|
+
def public_key
|
11
|
+
raise "RecaptchaMailhide's public_key is not set. If you're using Rails add an initializer to config/initializers." unless @public_key
|
12
|
+
@public_key
|
13
|
+
end
|
4
14
|
end
|
5
15
|
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
module RecaptchaMailhide
|
2
|
+
module ActionViewHelper
|
3
|
+
# Generates a link tag to a ReCAPTCHA Mailhide URL for the given email
|
4
|
+
# address.
|
5
|
+
#
|
6
|
+
# If a block is given it will use it to generate the content, and takes
|
7
|
+
# these attributes:
|
8
|
+
#
|
9
|
+
# * +email+ - The email address to hide
|
10
|
+
# * +options+ - See options below
|
11
|
+
#
|
12
|
+
# When no block is given it accepts two forms:
|
13
|
+
#
|
14
|
+
# # Just email
|
15
|
+
# recaptcha_mailhide(email, options = {})
|
16
|
+
#
|
17
|
+
# # Email and content
|
18
|
+
# recaptcha_mailhide(content, email, options = {})
|
19
|
+
#
|
20
|
+
# In the first instance it will process the email with
|
21
|
+
# <code>truncate_email</code> and use it as the link content.
|
22
|
+
#
|
23
|
+
# ==== Options
|
24
|
+
#
|
25
|
+
# Accepts every option supported by <code>link_to</code>, plus:
|
26
|
+
#
|
27
|
+
# [:popup]
|
28
|
+
#
|
29
|
+
# Set it to <code>true</code> to have the link open a popup window
|
30
|
+
# (through JavaScript and the <code>onclick</code> event).
|
31
|
+
#
|
32
|
+
# Can also be a hash of sub-options, which can be <code>:width</code> and
|
33
|
+
# <code>:height</code>, setting the size of the popup window.
|
34
|
+
#
|
35
|
+
# In case of not supplying your own content you can also pass options for
|
36
|
+
# <code>truncate_email</code>, e.g.:
|
37
|
+
#
|
38
|
+
# recaptcha_mailhide('foo@example.com', omission: '-', truncate_domain: true)
|
39
|
+
#
|
40
|
+
def recaptcha_mailhide(*args, &block)
|
41
|
+
options = args.extract_options!
|
42
|
+
raise ArgumentError, "at least one argument is required (not counting options)" if args.empty?
|
43
|
+
|
44
|
+
if block_given?
|
45
|
+
url = RecaptchaMailhide.url_for(args.first)
|
46
|
+
link_to(url, recaptcha_mailhide_options(url, options), &block)
|
47
|
+
else
|
48
|
+
if args.length == 1
|
49
|
+
content = truncate_email(args.first, options)
|
50
|
+
url = RecaptchaMailhide.url_for(args.first)
|
51
|
+
else
|
52
|
+
content = args.first
|
53
|
+
url = RecaptchaMailhide.url_for(args.second)
|
54
|
+
end
|
55
|
+
link_to(content, url, recaptcha_mailhide_options(url, options))
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# Truncates an email address, e.g.:
|
60
|
+
#
|
61
|
+
# truncate_email('example@example.com') # => e…@example.com
|
62
|
+
# truncate_email('example@example.com', truncate_domain: true) # => e…@e…
|
63
|
+
#
|
64
|
+
# ==== Options
|
65
|
+
#
|
66
|
+
# [:omission]
|
67
|
+
#
|
68
|
+
# The string to use in replacement of the removed characters.
|
69
|
+
#
|
70
|
+
# [:truncate_domain]
|
71
|
+
#
|
72
|
+
# Boolean. Whether to truncate the domain part of the address as well.
|
73
|
+
#
|
74
|
+
def truncate_email(email, options = {})
|
75
|
+
return "" unless email.match(/@/)
|
76
|
+
split_email = email.split('@')
|
77
|
+
omission = options[:omission] || "…"
|
78
|
+
local_part = "#{split_email.first.first}#{omission}"
|
79
|
+
domain = options[:truncate_domain] ? "#{split_email.last.first}#{omission}" : split_email.last
|
80
|
+
"#{local_part}@#{domain}"
|
81
|
+
end
|
82
|
+
|
83
|
+
private
|
84
|
+
|
85
|
+
def recaptcha_mailhide_options(url, options)
|
86
|
+
options.dup.tap do |o|
|
87
|
+
if o[:popup]
|
88
|
+
popup = o.delete(:popup)
|
89
|
+
popup = popup.is_a?(Hash) ? popup.dup : {}
|
90
|
+
popup.reverse_merge!(width: 500, height: 300)
|
91
|
+
o[:onclick] = "window.open('#{url}', '', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=#{popup[:width]},height=#{popup[:height]}'); return false;"
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|
96
|
+
end
|
@@ -1,11 +1,11 @@
|
|
1
1
|
module RecaptchaMailhide
|
2
2
|
module URL
|
3
|
-
BASE_URL = "
|
3
|
+
BASE_URL = "https://www.google.com/recaptcha/mailhide/d"
|
4
4
|
|
5
|
-
def self.url_for(
|
5
|
+
def self.url_for(email_address)
|
6
6
|
public_key = RecaptchaMailhide.configuration.public_key
|
7
|
-
|
8
|
-
BASE_URL + "?k=#{public_key}&c=#{
|
7
|
+
encrypted_address = Encrypt.encrypt(email_address)
|
8
|
+
BASE_URL + "?k=#{public_key}&c=#{encrypted_address}"
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
data/recaptcha-mailhide.gemspec
CHANGED
@@ -1,62 +1,25 @@
|
|
1
|
-
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
|
-
# -*- encoding: utf-8 -*-
|
1
|
+
$:.push File.expand_path("../lib", __FILE__)
|
5
2
|
|
6
|
-
|
7
|
-
|
8
|
-
s.version = "0.1.1"
|
3
|
+
# Maintain your gem's version:
|
4
|
+
require "recaptcha_mailhide/version"
|
9
5
|
|
10
|
-
|
11
|
-
|
12
|
-
s.
|
13
|
-
s.
|
14
|
-
s.
|
15
|
-
s.
|
16
|
-
|
17
|
-
"
|
18
|
-
|
19
|
-
s.
|
20
|
-
|
21
|
-
".rspec",
|
22
|
-
"Gemfile",
|
23
|
-
"Gemfile.lock",
|
24
|
-
"LICENSE.txt",
|
25
|
-
"README.rdoc",
|
26
|
-
"Rakefile",
|
27
|
-
"VERSION",
|
28
|
-
"lib/recaptcha-mailhide.rb",
|
29
|
-
"lib/recaptcha_mailhide.rb",
|
30
|
-
"lib/recaptcha_mailhide/configuration.rb",
|
31
|
-
"lib/recaptcha_mailhide/encrypt.rb",
|
32
|
-
"lib/recaptcha_mailhide/url.rb",
|
33
|
-
"recaptcha-mailhide.gemspec",
|
34
|
-
"spec/recaptcha_mailhide/encrypt_spec.rb",
|
35
|
-
"spec/recaptcha_mailhide/url_spec.rb",
|
36
|
-
"spec/spec_helper.rb"
|
37
|
-
]
|
38
|
-
s.homepage = "http://github.com/pilaf/recaptcha-mailhide"
|
39
|
-
s.licenses = ["MIT"]
|
40
|
-
s.require_paths = ["lib"]
|
41
|
-
s.rubygems_version = "1.8.10"
|
42
|
-
s.summary = "ReCAPTCHA Mailhide for Ruby"
|
6
|
+
# Describe your gem and declare its dependencies:
|
7
|
+
Gem::Specification.new do |s|
|
8
|
+
s.name = "recaptcha-mailhide"
|
9
|
+
s.version = RecaptchaMailhide::VERSION
|
10
|
+
s.platform = Gem::Platform::RUBY
|
11
|
+
s.authors = ["Pedro Fayolle"]
|
12
|
+
s.email = ["pfayolle@gmail.com"]
|
13
|
+
s.homepage = "http://github.com/pilaf/recaptcha-mailhide"
|
14
|
+
s.summary = "ReCAPTCHA Mailhide client"
|
15
|
+
s.description = "Implementation of Google's ReCAPTCHA Mailhide API"
|
16
|
+
s.license = "MIT"
|
43
17
|
|
44
|
-
|
45
|
-
|
18
|
+
s.files = `git ls-files`.split("\n")
|
19
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
20
|
+
s.extra_rdoc_files = ['README.rdoc']
|
21
|
+
s.require_paths = ['lib']
|
46
22
|
|
47
|
-
|
48
|
-
|
49
|
-
s.add_development_dependency(%q<bundler>, ["~> 1.0"])
|
50
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
|
51
|
-
else
|
52
|
-
s.add_dependency(%q<rspec>, ["~> 2.9.0"])
|
53
|
-
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
54
|
-
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
55
|
-
end
|
56
|
-
else
|
57
|
-
s.add_dependency(%q<rspec>, ["~> 2.9.0"])
|
58
|
-
s.add_dependency(%q<bundler>, ["~> 1.0"])
|
59
|
-
s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
|
60
|
-
end
|
23
|
+
s.add_development_dependency 'bundler', ['>= 1.0.0']
|
24
|
+
s.add_development_dependency 'rspec', ['>= 0']
|
61
25
|
end
|
62
|
-
|
@@ -7,7 +7,7 @@ describe RecaptchaMailhide::URL do
|
|
7
7
|
|
8
8
|
describe ".url_for" do
|
9
9
|
it("returns the proper URL") do
|
10
|
-
RecaptchaMailhide::URL.url_for('foo@bar.com').should eq('
|
10
|
+
RecaptchaMailhide::URL.url_for('foo@bar.com').should eq('https://www.google.com/recaptcha/mailhide/d?k=PUBLIC_KEY&c=ABC')
|
11
11
|
end
|
12
12
|
end
|
13
13
|
end
|
metadata
CHANGED
@@ -1,61 +1,56 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: recaptcha-mailhide
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Pedro Fayolle
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2015-11-11 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
16
|
-
requirement:
|
17
|
-
none: false
|
14
|
+
name: bundler
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
version: 1.0.0
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: bundler
|
27
|
-
requirement: &15325280 !ruby/object:Gem::Requirement
|
28
|
-
none: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
29
23
|
requirements:
|
30
|
-
- -
|
24
|
+
- - ">="
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
33
|
-
type: :development
|
34
|
-
prerelease: false
|
35
|
-
version_requirements: *15325280
|
26
|
+
version: 1.0.0
|
36
27
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement:
|
39
|
-
none: false
|
28
|
+
name: rspec
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
40
30
|
requirements:
|
41
|
-
- -
|
31
|
+
- - ">="
|
42
32
|
- !ruby/object:Gem::Version
|
43
|
-
version:
|
33
|
+
version: '0'
|
44
34
|
type: :development
|
45
35
|
prerelease: false
|
46
|
-
version_requirements:
|
47
|
-
|
48
|
-
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
description: Implementation of Google's ReCAPTCHA Mailhide API
|
42
|
+
email:
|
43
|
+
- pfayolle@gmail.com
|
49
44
|
executables: []
|
50
45
|
extensions: []
|
51
46
|
extra_rdoc_files:
|
52
|
-
- LICENSE.txt
|
53
47
|
- README.rdoc
|
54
48
|
files:
|
55
|
-
- .document
|
56
|
-
- .
|
49
|
+
- ".document"
|
50
|
+
- ".gitignore"
|
51
|
+
- ".rspec"
|
52
|
+
- CHANGELOG.rdoc
|
57
53
|
- Gemfile
|
58
|
-
- Gemfile.lock
|
59
54
|
- LICENSE.txt
|
60
55
|
- README.rdoc
|
61
56
|
- Rakefile
|
@@ -64,7 +59,10 @@ files:
|
|
64
59
|
- lib/recaptcha_mailhide.rb
|
65
60
|
- lib/recaptcha_mailhide/configuration.rb
|
66
61
|
- lib/recaptcha_mailhide/encrypt.rb
|
62
|
+
- lib/recaptcha_mailhide/helpers/action_view_helper.rb
|
63
|
+
- lib/recaptcha_mailhide/railtie.rb
|
67
64
|
- lib/recaptcha_mailhide/url.rb
|
65
|
+
- lib/recaptcha_mailhide/version.rb
|
68
66
|
- recaptcha-mailhide.gemspec
|
69
67
|
- spec/recaptcha_mailhide/encrypt_spec.rb
|
70
68
|
- spec/recaptcha_mailhide/url_spec.rb
|
@@ -72,29 +70,28 @@ files:
|
|
72
70
|
homepage: http://github.com/pilaf/recaptcha-mailhide
|
73
71
|
licenses:
|
74
72
|
- MIT
|
73
|
+
metadata: {}
|
75
74
|
post_install_message:
|
76
75
|
rdoc_options: []
|
77
76
|
require_paths:
|
78
77
|
- lib
|
79
78
|
required_ruby_version: !ruby/object:Gem::Requirement
|
80
|
-
none: false
|
81
79
|
requirements:
|
82
|
-
- -
|
80
|
+
- - ">="
|
83
81
|
- !ruby/object:Gem::Version
|
84
82
|
version: '0'
|
85
|
-
segments:
|
86
|
-
- 0
|
87
|
-
hash: 1066762596205955725
|
88
83
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
84
|
requirements:
|
91
|
-
- -
|
85
|
+
- - ">="
|
92
86
|
- !ruby/object:Gem::Version
|
93
87
|
version: '0'
|
94
88
|
requirements: []
|
95
89
|
rubyforge_project:
|
96
|
-
rubygems_version:
|
90
|
+
rubygems_version: 2.4.8
|
97
91
|
signing_key:
|
98
|
-
specification_version:
|
99
|
-
summary: ReCAPTCHA Mailhide
|
100
|
-
test_files:
|
92
|
+
specification_version: 4
|
93
|
+
summary: ReCAPTCHA Mailhide client
|
94
|
+
test_files:
|
95
|
+
- spec/recaptcha_mailhide/encrypt_spec.rb
|
96
|
+
- spec/recaptcha_mailhide/url_spec.rb
|
97
|
+
- spec/spec_helper.rb
|
data/Gemfile.lock
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
GEM
|
2
|
-
remote: http://rubygems.org/
|
3
|
-
specs:
|
4
|
-
diff-lcs (1.1.3)
|
5
|
-
git (1.2.5)
|
6
|
-
jeweler (1.8.3)
|
7
|
-
bundler (~> 1.0)
|
8
|
-
git (>= 1.2.5)
|
9
|
-
rake
|
10
|
-
rdoc
|
11
|
-
json (1.6.6)
|
12
|
-
rake (0.9.2.2)
|
13
|
-
rdoc (3.12)
|
14
|
-
json (~> 1.4)
|
15
|
-
rspec (2.9.0)
|
16
|
-
rspec-core (~> 2.9.0)
|
17
|
-
rspec-expectations (~> 2.9.0)
|
18
|
-
rspec-mocks (~> 2.9.0)
|
19
|
-
rspec-core (2.9.0)
|
20
|
-
rspec-expectations (2.9.1)
|
21
|
-
diff-lcs (~> 1.1.3)
|
22
|
-
rspec-mocks (2.9.0)
|
23
|
-
|
24
|
-
PLATFORMS
|
25
|
-
ruby
|
26
|
-
|
27
|
-
DEPENDENCIES
|
28
|
-
bundler (~> 1.0)
|
29
|
-
jeweler (~> 1.8.3)
|
30
|
-
rspec (~> 2.9.0)
|