Module: JSONAPI::ResourceActions::FieldValidation

Extended by:
ActiveSupport::Concern
Included in:
JSONAPI::ResourceActions
Defined in:
lib/json_api/controllers/concerns/resource_actions/field_validation.rb

Instance Method Summary collapse

Instance Method Details

#validate_fields_paramObject



8
9
10
11
12
13
14
# File 'lib/json_api/controllers/concerns/resource_actions/field_validation.rb', line 8

def validate_fields_param
  fields = parse_fields_param
  return if fields.empty?

  error = first_invalid_field(fields)
  render_field_error(error) if error
end

#validate_include_paramObject



25
26
27
28
29
30
31
32
# File 'lib/json_api/controllers/concerns/resource_actions/field_validation.rb', line 25

def validate_include_param
  includes = parse_include_param
  return if includes.empty?

  permitted = @resource_class.relationship_names.map(&:to_s)
  invalid = includes.reject { |p| include_path_valid?(p, permitted) }
  render_include_errors(invalid) if invalid.any?
end

#validate_sort_paramObject



16
17
18
19
20
21
22
23
# File 'lib/json_api/controllers/concerns/resource_actions/field_validation.rb', line 16

def validate_sort_param
  sorts = parse_sort_param
  return if sorts.empty?

  valid = valid_sort_fields_for_resource(@resource_class, model_class)
  invalid = invalid_sort_fields_for_columns(sorts, valid)
  render_sort_errors(invalid) if invalid.any?
end