module Adminlock
Public Class Methods
from_config(setting, secrets_or_credentials = :credentials)
click to toggle source
# File lib/adminlock.rb, line 14 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.adminlock.respond_to?(:fetch) && store.adminlock.fetch(setting, store.public_send("adminlock_#{setting}")) || store.public_send("adminlock_#{setting}") || store.public_send(setting) end
Private Instance Methods
adminlock_codeword()
click to toggle source
# File lib/adminlock.rb, line 44 def adminlock_codeword @adminlock_codeword ||= ENV['ADMINLOCK_CODEWORD'] || ENV['adminlock_codeword'] || Adminlock.from_config(:codeword, :secrets) || Adminlock.from_config(:codeword) end
check_for_adminlock()
click to toggle source
# File lib/adminlock.rb, line 26 def check_for_adminlock return unless respond_to?(:adminlock) && adminlock_codeword return if cookies[:adminlock].present? && cookies[:adminlock] == adminlock_codeword.to_s.downcase redirect_to adminlock.unlock_path( return_to: request.fullpath.split('?adminlock_codeword')[0], adminlock_codeword: params[:adminlock_codeword] ) end