Method: VersionCake::VersionContextService#create_context_from_request

Defined in:
lib/versioncake/version_context_service.rb

#create_context_from_request(raw_request) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/versioncake/version_context_service.rb', line 10

def create_context_from_request(raw_request)
  return unless resource = find_resource(raw_request.path)

  request = VersionCake::VersionedRequest.new(
                raw_request,
                @strategies,
                @default_version
            )
  request.execute

  result = if request.failed
    :version_invalid
  else
    check_version(resource, request.version)
  end

  VersionCake::VersionContext.new(request.version, resource, result)
end