module PasswordRequired::ControllerConcern

Public Class Methods

password_required(opts = {}) click to toggle source
# File lib/password_required/controller_concern.rb, line 13
def self.password_required(opts = {})
  fail ArgumentError, ':for key is required' unless opts[:for].present?
  ArgumentsComposer.new(opts).call(self)
end

Public Instance Methods

guard_with_password!() click to toggle source
# File lib/password_required/controller_concern.rb, line 55
def guard_with_password!
  return unless password_required?
  fail PasswordMissing unless password_supplied?
  fail PasswordWrong unless password_correct?
end
password_check_method() click to toggle source
# File lib/password_required/controller_concern.rb, line 45
def password_check_method
  password_check_methods[action_name]
end
password_correct?() click to toggle source
# File lib/password_required/controller_concern.rb, line 33
def password_correct?
  instance_exec(password_given, &password_check_method)
end
password_given() click to toggle source
# File lib/password_required/controller_concern.rb, line 49
def password_given
  params[:password_request][:password]
rescue
  ''
end
password_guard_condition() click to toggle source
# File lib/password_required/controller_concern.rb, line 41
def password_guard_condition
  password_guard_conditions[action_name]
end
password_required?() click to toggle source
# File lib/password_required/controller_concern.rb, line 37
def password_required?
  instance_exec(&password_guard_condition)
end
password_supplied?() click to toggle source
# File lib/password_required/controller_concern.rb, line 29
def password_supplied?
  password_given.present?
end
present_password_request() click to toggle source
# File lib/password_required/controller_concern.rb, line 61
def present_password_request
  @password_request ||= PasswordRequest.new(request)
  render 'password_request/new'
end