New upstream release.
Debian Janitor
10 months ago
0 | 0 | ## Next |
1 | ||
2 | ## 5.14.0 | |
3 | * drop json dependency | |
4 | ||
5 | ## 5.13.1 | |
6 | * Permit actions as symbol | |
7 | ||
8 | ## 5.13.0 | |
9 | * Added option to ignore_no_element. | |
1 | 10 | |
2 | 11 | ## 5.12.3 |
3 | 12 | * Remove score fallback for enterprise |
426 | 426 | | `:inline_script` | If `true`, adds an inline script tag that calls `grecaptcha.execute` for the given `site_key` and `action` and calls the `callback` with the resulting response token. Pass `false` if you want to handle calling `grecaptcha.execute` yourself. (default: `true`) | |
427 | 427 | | `:element` | The element to render, if any (default: `:input`)<br/>`:input`: Renders a hidden `<input type="hidden">` tag. The value of this will be set to the response token by the default `setInputWithRecaptchaResponseTokenFor{action}` callback.<br/>`false`: Doesn't render any tag. You'll have to add a custom callback that does something with the token. | |
428 | 428 | | `:turbolinks` | If `true`, calls the js function which executes reCAPTCHA after all the dependencies have been loaded. This cannot be used with the js param `:onload`. This makes reCAPTCHAv3 usable with turbolinks. | |
429 | | `:ignore_no_element` | If `true`, adds null element checker for forms that can be removed from the page by javascript like modals with forms. (default: true) | | |
429 | 430 | |
430 | 431 | [JavaScript resource (api.js) parameters](https://developers.google.com/recaptcha/docs/invisible#js_param): |
431 | 432 |
0 | ruby-recaptcha (5.14.0-1) UNRELEASED; urgency=low | |
1 | ||
2 | * New upstream release. | |
3 | ||
4 | -- Debian Janitor <janitor@jelmer.uk> Sun, 18 Jun 2023 09:30:39 -0000 | |
5 | ||
0 | 6 | ruby-recaptcha (5.12.3-2) unstable; urgency=medium |
1 | 7 | |
2 | 8 | * Reupload to unstable |
15 | 15 | options[:render] = site_key |
16 | 16 | options[:script_async] ||= false |
17 | 17 | options[:script_defer] ||= false |
18 | options[:ignore_no_element] = options.key?(:ignore_no_element) ? options[:ignore_no_element] : true | |
18 | 19 | element = options.delete(:element) |
19 | 20 | element = element == false ? false : :input |
20 | 21 | if element == :input |
137 | 138 | nonce = options.delete(:nonce) |
138 | 139 | skip_script = (options.delete(:script) == false) || (options.delete(:external_script) == false) |
139 | 140 | ui = options.delete(:ui) |
141 | options.delete(:ignore_no_element) | |
140 | 142 | |
141 | 143 | data_attribute_keys = [:badge, :theme, :type, :callback, :expired_callback, :error_callback, :size] |
142 | 144 | data_attribute_keys << :tabindex unless ui == :button |
205 | 207 | }) |
206 | 208 | }; |
207 | 209 | |
208 | #{recaptcha_v3_define_default_callback(callback) if recaptcha_v3_define_default_callback?(callback, action, options)} | |
210 | #{recaptcha_v3_define_default_callback(callback, options) if recaptcha_v3_define_default_callback?(callback, action, options)} | |
209 | 211 | </script> |
210 | 212 | HTML |
211 | 213 | end |
223 | 225 | }); |
224 | 226 | }); |
225 | 227 | }; |
226 | #{recaptcha_v3_define_default_callback(callback) if recaptcha_v3_define_default_callback?(callback, action, options)} | |
228 | #{recaptcha_v3_define_default_callback(callback, options) if recaptcha_v3_define_default_callback?(callback, action, options)} | |
227 | 229 | </script> |
228 | 230 | HTML |
229 | 231 | end |
234 | 236 | options[:inline_script] != false |
235 | 237 | end |
236 | 238 | |
237 | private_class_method def self.recaptcha_v3_define_default_callback(callback) | |
239 | private_class_method def self.recaptcha_v3_define_default_callback(callback, options) | |
238 | 240 | <<-HTML |
239 | var #{callback} = function(id, token) { | |
240 | var element = document.getElementById(id); | |
241 | element.value = token; | |
242 | } | |
241 | var #{callback} = function(id, token) { | |
242 | var element = document.getElementById(id); | |
243 | #{element_check_condition(options)} element.value = token; | |
244 | } | |
243 | 245 | HTML |
244 | 246 | end |
245 | 247 | |
327 | 329 | private_class_method def self.hash_to_query(hash) |
328 | 330 | hash.delete_if { |_, val| val.nil? || val.empty? }.to_a.map { |pair| pair.join('=') }.join('&') |
329 | 331 | end |
332 | ||
333 | private_class_method def self.element_check_condition(options) | |
334 | options[:ignore_no_element] ? "if (element !== null)" : "" | |
335 | end | |
330 | 336 | end |
331 | 337 | end |
0 | 0 | # frozen_string_literal: true |
1 | 1 | |
2 | 2 | module Recaptcha |
3 | VERSION = '5.12.3' | |
3 | VERSION = '5.14.0' | |
4 | 4 | end |
124 | 124 | def self.action_valid?(action, expected_action) |
125 | 125 | case expected_action |
126 | 126 | when nil, FalseClass then true |
127 | else action == expected_action | |
127 | else action == expected_action.to_s | |
128 | 128 | end |
129 | 129 | end |
130 | 130 |
1 | 1 | # This file has been automatically generated by gem2tgz # |
2 | 2 | ######################################################### |
3 | 3 | # -*- encoding: utf-8 -*- |
4 | # stub: recaptcha 5.12.3 ruby lib | |
4 | # stub: recaptcha 5.14.0 ruby lib | |
5 | 5 | |
6 | 6 | Gem::Specification.new do |s| |
7 | 7 | s.name = "recaptcha".freeze |
8 | s.version = "5.12.3" | |
8 | s.version = "5.14.0" | |
9 | 9 | |
10 | 10 | s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= |
11 | 11 | s.metadata = { "source_code_uri" => "https://github.com/ambethia/recaptcha" } if s.respond_to? :metadata= |
12 | 12 | s.require_paths = ["lib".freeze] |
13 | 13 | s.authors = ["Jason L Perry".freeze] |
14 | s.date = "2022-09-05" | |
14 | s.date = "2023-04-19" | |
15 | 15 | s.description = "Helpers for the reCAPTCHA API".freeze |
16 | 16 | s.email = ["jasper@ambethia.com".freeze] |
17 | 17 | s.files = ["CHANGELOG.md".freeze, "LICENSE".freeze, "README.md".freeze, "lib/recaptcha.rb".freeze, "lib/recaptcha/adapters/controller_methods.rb".freeze, "lib/recaptcha/adapters/view_methods.rb".freeze, "lib/recaptcha/configuration.rb".freeze, "lib/recaptcha/helpers.rb".freeze, "lib/recaptcha/rails.rb".freeze, "lib/recaptcha/railtie.rb".freeze, "lib/recaptcha/version.rb".freeze, "rails/locales/en.yml".freeze, "rails/locales/fr.yml".freeze, "rails/locales/ja.yml".freeze, "rails/locales/nl.yml".freeze] |
28 | 28 | if s.respond_to? :add_runtime_dependency then |
29 | 29 | s.add_development_dependency(%q<bump>.freeze, [">= 0"]) |
30 | 30 | s.add_development_dependency(%q<i18n>.freeze, [">= 0"]) |
31 | s.add_runtime_dependency(%q<json>.freeze, [">= 0"]) | |
32 | 31 | s.add_development_dependency(%q<maxitest>.freeze, [">= 0"]) |
33 | 32 | s.add_development_dependency(%q<mocha>.freeze, [">= 0"]) |
34 | 33 | s.add_development_dependency(%q<pry-byebug>.freeze, [">= 0"]) |
38 | 37 | else |
39 | 38 | s.add_dependency(%q<bump>.freeze, [">= 0"]) |
40 | 39 | s.add_dependency(%q<i18n>.freeze, [">= 0"]) |
41 | s.add_dependency(%q<json>.freeze, [">= 0"]) | |
42 | 40 | s.add_dependency(%q<maxitest>.freeze, [">= 0"]) |
43 | 41 | s.add_dependency(%q<mocha>.freeze, [">= 0"]) |
44 | 42 | s.add_dependency(%q<pry-byebug>.freeze, [">= 0"]) |