Module: Spokes::Versioning::MinorVersioning

Extended by:
ActiveSupport::Concern
Defined in:
lib/spokes/versioning/minor_versioning.rb

Overview

Minor versioning mix-in for controllers.

Usage:

# app/controllers/my_controller.rb
class MyController
  include MinorVersioning

  def index
    logger.info(minor_version)
  end
end

Constant Summary collapse

API_VERSION =
'API-Version'.freeze

Instance Method Summary collapse

Instance Method Details

#minor_versionObject



35
36
37
38
39
40
41
# File 'lib/spokes/versioning/minor_versioning.rb', line 35

def minor_version
  @minor_version ||= begin
                       chosen_version = request.headers[API_VERSION]
                       return chosen_version if valid_minor_version?(chosen_version)
                       default_minor_version
                     end
end

#set_minor_version_response_headerObject



31
32
33
# File 'lib/spokes/versioning/minor_versioning.rb', line 31

def set_minor_version_response_header
  response.headers[API_VERSION] = minor_version
end