module ParamsFor::Connectors::Glue
Private Instance Methods
params_for(name, options = {})
click to toggle source
Strong params checker
@param name [Symbol] camelcased validator class name @param options [Hash] optional @option options [Boolean] :class class of the validator @return [Hash]
# File lib/params_for/connectors/glue.rb, line 33 def params_for(name, options = {}) instance_var_name = "@#{name.to_s}_params" instance_var = instance_variable_get(instance_var_name) return instance_var if instance_var.present? if options[:class] validator_klass = options[:class] else validator_name = "ParamsFor::#{name.to_s.classify}" validator_klass = validator_name.constantize end validator = validator_klass.new(params) unless validator.valid? render status: :bad_request, json: validator.errors.to_json and return false end instance_variable_set(instance_var_name, validator.to_params) end