re_captcha 0.0.6 → 0.0.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4ff6ffb0b40900669efac36740ebcfcc1f9055e2
4
- data.tar.gz: bda9557db4b3f23a9fd930b81742222a7450eaeb
3
+ metadata.gz: 3b6be4701f57286eb1bfe932ac7bebf471f37eb6
4
+ data.tar.gz: 0b6841f91946cdb29719756b273f3b2711276836
5
5
  SHA512:
6
- metadata.gz: c8610eff65a759829a7cda08b0e941924d5e11b8ca1c0c053cdf6439f1a97f83e901a47572a356709cb85e00e7edd81d4a4d2ab2bebb46a4241c0414399d7fa1
7
- data.tar.gz: a792fa3709ae8f52fee267e214a04311ef4fd2d6c33d0d491a85a938ce01291e3246aa64ea61ef3e329431e4d4802144e3e734b6c3aa25b032c17b8c4fbeb32b
6
+ metadata.gz: cbe06f3566be335608d60361175c42d86eba4c56cb941efaf4a2877534194773cd613e9ca6c146b75b2c6a20ff70534c948b2deee744d52e7643ebd000307580
7
+ data.tar.gz: f9758cb1da426973bc0563d82a8ba410dcf48a6418cecb2d7d81a56b78e99f20070880d28d13a9360e22acb19d5a4fe56804cbf3e054e8f706de8d72a47a4b38
@@ -6,7 +6,7 @@ module ReCaptcha
6
6
  include API
7
7
 
8
8
  def recaptcha_valid?(response, remote_ip: nil, model: nil, message: nil)
9
- return true if should_skip_verification?
9
+ return true if skip_verification?
10
10
  params = generate_verification_params(response, remote_ip)
11
11
  verification = verify_recaptcha(params)
12
12
  valid = verification['success']
@@ -14,11 +14,6 @@ module ReCaptcha
14
14
  valid
15
15
  end
16
16
 
17
- def secure_token
18
- secure_token_builder = SecureTokenBuilder.new(private_key)
19
- secure_token_builder.build
20
- end
21
-
22
17
  private
23
18
 
24
19
  def verify_recaptcha(params)
@@ -29,7 +24,7 @@ module ReCaptcha
29
24
  { response: response, secret: private_key, remoteip: remote_ip }
30
25
  end
31
26
 
32
- def should_skip_verification?
27
+ def skip_verification?
33
28
  skipped_env.include? env
34
29
  end
35
30
 
@@ -3,18 +3,28 @@ module ReCaptcha
3
3
  def recaptcha_tags(options = {})
4
4
  html = ''
5
5
  html << %(<div class="g-recaptcha" data-sitekey="#{ReCaptcha.client.public_key}" )
6
- html << %(data-stoken="#{ReCaptcha.client.secure_token}" #{tag_attributes(options)}></div>\n)
7
- html.respond_to?(:html_safe) ? html.html_safe : html
6
+ html << %(data-stoken="#{secure_token}" #{tag_attributes(options)}></div>\n)
7
+ format_html(html)
8
8
  end
9
9
 
10
10
  def recaptcha_script(language: nil)
11
11
  html = ''
12
12
  html << %(<script src="#{ReCaptcha.client.api_endpoint}api.js#{language_query(language)}" async defer></script>\n)
13
- html.respond_to?(:html_safe) ? html.html_safe : html
13
+ format_html(html)
14
14
  end
15
15
 
16
16
  private
17
17
 
18
+ def format_html(html)
19
+ html.respond_to?(:html_safe) ? html.html_safe : html
20
+ end
21
+
22
+ def secure_token
23
+ private_key = ReCaptcha.client.private_key
24
+ secure_token_builder = SecureTokenBuilder.new(private_key)
25
+ secure_token_builder.build
26
+ end
27
+
18
28
  def tag_attributes(theme: 'light', type: 'image', size: 'normal',
19
29
  tab_index: 0, callback: nil, expired_callback: nil)
20
30
  attributes = ''
@@ -1,3 +1,3 @@
1
1
  module ReCaptcha
2
- VERSION = '0.0.6'.freeze
2
+ VERSION = '0.0.7'.freeze
3
3
  end
@@ -48,7 +48,6 @@ describe ReCaptcha::Client do
48
48
  it { expect(instance).to respond_to(:api_endpoint) }
49
49
  it { expect(instance).to respond_to(:skipped_env) }
50
50
  it { expect(instance).to respond_to(:recaptcha_valid?) }
51
- it { expect(instance).to respond_to(:secure_token) }
52
51
 
53
52
  describe '#private_key' do
54
53
  subject(:private_key) { instance.private_key }
@@ -211,15 +210,5 @@ describe ReCaptcha::Client do
211
210
  end
212
211
  end
213
212
  end
214
-
215
- describe '#secure_token' do
216
- let(:secure_token_builder) { instance_double("ReCaptcha::SecureTokenBuilder") }
217
-
218
- it 'delegates to SecureTokenBuilder' do
219
- ReCaptcha::SecureTokenBuilder.stub(:new).and_return(secure_token_builder)
220
- expect(secure_token_builder).to receive(:build)
221
- instance.secure_token
222
- end
223
- end
224
213
  end
225
214
  end
@@ -8,10 +8,18 @@ describe ReCaptcha::SecureTokenBuilder do
8
8
  it { expect(instance).to respond_to(:build) }
9
9
 
10
10
  describe '#build' do
11
+
11
12
  it 'builds a secure token' do
12
13
  expect(instance.build).to be_a(String)
13
14
  expect(instance.build).not_to be_empty
14
15
  end
16
+
17
+ it 'builds a token with a correct value' do
18
+ time = Time.parse("Feb 24 1981")
19
+ allow(Time).to receive(:now).and_return(time)
20
+ allow(SecureRandom).to receive(:uuid).and_return('8a180d31-c031-4258-a36f-bc4207f67bef')
21
+ expect(instance.build).to eq("95ZHArcXmvPlPBc6r95vSj_83vWuXuetY9KfVy4O6AszqvTE_ok6u85L74jMQYmYKtIEqjOJzUgiK9kSjEROQYHleYCsftaXldeLgxeQCFI")
22
+ end
15
23
  end
16
24
  end
17
25
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: re_captcha
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Jeusette