Module: JSONAPI::Utils::Request

Defined in:
lib/jsonapi/utils/request.rb

Instance Method Summary collapse

Instance Method Details

#check_requestObject

Render an error response if the parsed request got any error.



28
29
30
# File 'lib/jsonapi/utils/request.rb', line 28

def check_request
  @request.errors.blank? || jsonapi_render_errors(json: @request)
end

#jsonapi_request_handlingObject

Setup and check request before action gets actually evaluated.



6
7
8
9
# File 'lib/jsonapi/utils/request.rb', line 6

def jsonapi_request_handling
  setup_request
  check_request
end

#process_requestString

Override the JSONAPI::ActsAsResourceController#process_request method.

It might be removed when the following line on JR is fixed: github.com/cerebris/jsonapi-resources/blob/release-0-8/lib/jsonapi/acts_as_resource_controller.rb#L62

Returns:

  • (String)


40
41
42
43
44
45
46
47
48
49
# File 'lib/jsonapi/utils/request.rb', line 40

def process_request
  operations = @request.operations
  unless JSONAPI.configuration.resource_cache.nil?
    operations.each {|op| op.options[:cache_serializer] = resource_serializer }
  end
  results = process_operations(operations)
  render_results(results)
rescue => e
  handle_exceptions(e)
end

#relationship_paramsHash

Helper to get params for relationship params.

Returns:

  • (Hash)


65
66
67
# File 'lib/jsonapi/utils/request.rb', line 65

def relationship_params
  build_params_for(:relationship)
end

#resource_paramsHash

Helper to get params for the main resource.

Returns:

  • (Hash)


56
57
58
# File 'lib/jsonapi/utils/request.rb', line 56

def resource_params
  build_params_for(:resource)
end

#setup_requestJSONAPI::RequestParser

Instantiate the request object.

Returns:

  • (JSONAPI::RequestParser)


16
17
18
19
20
21
22
23
# File 'lib/jsonapi/utils/request.rb', line 16

def setup_request
  @request ||= JSONAPI::RequestParser.new(
    params,
    context: context,
    key_formatter: key_formatter,
    server_error_callbacks: (self.class.server_error_callbacks || [])
  )
end