module RSchema::Rails::Controller::InstanceMethods

Instance methods added to ActionController classes

Public Instance Methods

param_schema(&schema_block) click to toggle source
# File lib/rschema/rails.rb, line 21
def param_schema(&schema_block)
  self.class.param_schema(&schema_block)
end
validate_params(schema = nil, &schema_block) click to toggle source
# File lib/rschema/rails.rb, line 25
def validate_params(schema = nil, &schema_block)
  schema ||= param_schema(&schema_block)
  schema.validate(request.parameters.to_hash)
end
validate_params!(*args, &block) click to toggle source
# File lib/rschema/rails.rb, line 30
def validate_params!(*args, &block)
  result = validate_params(*args, &block)
  raise InvalidParams.new(result.error) if result.invalid?
  result.value
end