Module: Locomotive::Steam::Middlewares::Concerns::Recaptcha

Included in:
Auth, EntrySubmission
Defined in:
lib/locomotive/steam/middlewares/concerns/recaptcha.rb

Instance Method Summary collapse

Instance Method Details

#build_invalid_recaptcha_entry(slug, entry_attributes) ⇒ Object



21
22
23
24
25
# File 'lib/locomotive/steam/middlewares/concerns/recaptcha.rb', line 21

def build_invalid_recaptcha_entry(slug, entry_attributes)
  services.content_entry.build(slug, entry_attributes).tap do |entry|
    entry.errors.add(:recaptcha_invalid, true)
  end
end

#is_recaptcha_required?(slug) ⇒ Boolean

Returns:

  • (Boolean)


10
11
12
13
# File 'lib/locomotive/steam/middlewares/concerns/recaptcha.rb', line 10

def is_recaptcha_required?(slug)
  type = services.content_entry.get_type(slug)
  type&.recaptcha_required?
end

#is_recaptcha_valid?(slug, response_code) ⇒ Boolean

Returns:

  • (Boolean)


6
7
8
# File 'lib/locomotive/steam/middlewares/concerns/recaptcha.rb', line 6

def is_recaptcha_valid?(slug, response_code)
  !is_recaptcha_required?(slug) || is_recaptcha_verified?(response_code)
end

#is_recaptcha_verified?(response_code) ⇒ Boolean

Returns:

  • (Boolean)


15
16
17
18
19
# File 'lib/locomotive/steam/middlewares/concerns/recaptcha.rb', line 15

def is_recaptcha_verified?(response_code)
  services.recaptcha.verify(response_code).tap do |valid|
    liquid_assigns['recaptcha_invalid'] = !valid
  end
end