module Lockup

Constants

VERSION

Public Class Methods

from_config(setting, secrets_or_credentials = :credentials) click to toggle source
# File lib/lockup.rb, line 16
def self.from_config(setting, secrets_or_credentials = :credentials)
  return unless Rails.application.respond_to?(secrets_or_credentials)

  store = Rails.application.public_send(secrets_or_credentials)

  store.lockup.respond_to?(:fetch) &&
    store.lockup.fetch(setting, store.public_send("lockup_#{setting}")) ||
    store.public_send("lockup_#{setting}") || store.public_send(setting)
end

Private Instance Methods

check_for_lockup() click to toggle source
# File lib/lockup.rb, line 28
def check_for_lockup
  return unless respond_to?(:lockup) && lockup_codeword
  return if cookies && cookies[:lockup].present? && cookies[:lockup] == lockup_codeword.to_s.downcase

  redirect_to lockup.unlock_path(
    return_to: request.fullpath.split('?lockup_codeword')[0],
    lockup_codeword: params[:lockup_codeword]
  )
end
lockup_codeword() click to toggle source
# File lib/lockup.rb, line 46
def lockup_codeword
  @lockup_codeword ||=
    ENV['LOCKUP_CODEWORD'] ||
    ENV['lockup_codeword'] ||
    Lockup.from_config(:codeword, :secrets) ||
    Lockup.from_config(:codeword)
end