Sha256: 55da535e72c6be647ef48d7da122ad99a22f49ebf0de173f255a7c30036f1034
Contents?: true
Size: 1.18 KB
Versions: 2
Compression:
Stored size: 1.18 KB
Contents
module VersionCake class VersionContextService def initialize(config) @versioned_resources = config.versioned_resources @default_version = config.missing_version @strategies = config.extraction_strategies end 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 :invalid_version else check_version(resource, request.version) end VersionCake::VersionContext.new(request.version, resource, result) end def create_context(uri, version) return unless resource = find_resource(uri) result = check_version(resource, version) VersionCake::VersionContext.new(version, resource, result) end private def check_version(resource, version) VersionCake::VersionChecker.new(resource, version).execute end def find_resource(uri) @versioned_resources.find { |resource| resource.uri.match uri } end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
versioncake-3.1.0 | lib/versioncake/version_context_service.rb |
versioncake-3.0.0 | lib/versioncake/version_context_service.rb |