class ActionParamsPermitter::PermitProcessor

Makes permitting process. It can be done using income params from your controller and builded permitter

Parameters: params - instance of ActionController::Parameters builder - instance of Builders::Main

Returns: hash with permitted parameters

Attributes

builder[R]
params[R]

Public Class Methods

new(params, builder) click to toggle source
# File lib/action_params_permitter/permit_processor.rb, line 21
def initialize(params, builder)
  @params, @builder = params, builder
end

Public Instance Methods

call() click to toggle source
# File lib/action_params_permitter/permit_processor.rb, line 25
def call
  top_is_required? ? make_requiring : make_permitting
end

Private Instance Methods

make_permitting() click to toggle source
# File lib/action_params_permitter/permit_processor.rb, line 31
def make_permitting
  params.permit(state)
end
make_requiring() click to toggle source
# File lib/action_params_permitter/permit_processor.rb, line 35
def make_requiring
  required_resource = state.keys.first
  required_tail = state[required_resource]
  params.require(required_resource).permit(required_tail)
end
top_is_required?() click to toggle source
# File lib/action_params_permitter/permit_processor.rb, line 41
def top_is_required?
  builder.is_required
end