module Pakyow::Routing::Behavior::ParamVerification

Public Instance Methods

allow_params(*names) click to toggle source

Set one or more params as optional in all routes.

# File lib/pakyow/routing/controller/behavior/param_verification.rb, line 55
def allow_params(*names)
  @__allowed_params.concat(names).uniq!
end
verify(*names, &block) click to toggle source

Perform input verification before one or more routes, identified by name.

@see Pakyow::Verifier

@api public

# File lib/pakyow/routing/controller/behavior/param_verification.rb, line 35
def verify(*names, &block)
  verification_method_name = :"verify_#{names.join("_")}"

  define_method verification_method_name do
    local_allowed_params = self.class.__allowed_params

    verify do
      local_allowed_params.each do |allowed_param|
        optional allowed_param
      end

      instance_exec(&block)
    end
  end

  action verification_method_name, only: names
end