class Apiphobic::Matchers::Version

Attributes

accept_header[RW]
application_name[RW]
default_version[RW]
request[RW]
version_constraint[RW]

Public Class Methods

new(version_constraint:, application_name: configuration.application_name, default_version: configuration.default_api_version) click to toggle source
# File lib/apiphobic/matchers/version.rb, line 16
def initialize(version_constraint:,
               application_name: configuration.application_name,
               default_version:  configuration.default_api_version)

  self.application_name   = application_name
  self.default_version    = default_version
  self.version_constraint = version_constraint
end

Public Instance Methods

matches?(raw_request) click to toggle source
# File lib/apiphobic/matchers/version.rb, line 25
def matches?(raw_request)
  self.request       = ::Apiphobic::Requests::AcceptHeader.resolve(raw_request)
  self.accept_header = ::Apiphobic::AcceptHeader.new(request.accept_header,
                                                     application_name: application_name)

  requested_version == version_constraint
end

Private Instance Methods

requested_version() click to toggle source
# File lib/apiphobic/matchers/version.rb, line 35
def requested_version
  accept_header.version || default_version
end