class PasswordRequired::ControllerConcern::ArgumentsComposer
Constants
- VALID_KEYS
Public Class Methods
new(opts = {})
click to toggle source
# File lib/password_required/controller_concern/arguments_composer.rb, line 6 def initialize(opts = {}) @options = opts.slice(*VALID_KEYS) @options[:for] = Array(@options[:for]) end
Public Instance Methods
call(klass)
click to toggle source
# File lib/password_required/controller_concern/arguments_composer.rb, line 11 def call(klass) @options.each_pair do |key, value| send("handle_#{key}_key", klass, value, @options[:for]) end end
Private Instance Methods
handle_for_key(klass, value, _)
click to toggle source
# File lib/password_required/controller_concern/arguments_composer.rb, line 30 def handle_for_key(klass, value, _) klass.send :before_action, :guard_with_password!, only: value end
handle_with_key(klass, value, actions)
click to toggle source
# File lib/password_required/controller_concern/arguments_composer.rb, line 19 def handle_with_key(klass, value, actions) actions.each do |action| klass.password_check_methods[action] = if value.is_a? Proc value elsif value.is_a? Symbol ->(_) { send(value) } end end end