class Rack::ServiceApiVersioning::EncodedApiVersionData

Builds an API Version data hash and encodes as JSON, for injection into a Rack environment, normally with the key “COMPONENT_API_VERSION_DATA”.

Builds an API Version data hash and encodes as JSON, for injection into a Rack environment, normally with the key “COMPONENT_API_VERSION_DATA”.

Builds an API Version data hash and encodes as JSON, for injection into a Rack environment, normally with the key “COMPONENT_API_VERSION_DATA”.

Attributes

api_version[R]

Public Class Methods

call(api_version:, data:) click to toggle source
# File lib/rack/service_api_versioning/encoded_api_version_data.rb, line 18
def self.call(api_version:, data:)
  new(api_version, data).call
end
new(api_version, input_data) click to toggle source
# File lib/rack/service_api_versioning/encoded_api_version_data.rb, line 28
def initialize(api_version, input_data)
  @api_version = api_version.to_sym
  @data_obj = InputData.new api_version: api_version,
                            input_data: input_data
  self
end

Public Instance Methods

call() click to toggle source
# File lib/rack/service_api_versioning/encoded_api_version_data.rb, line 22
def call
  JSON.dump(version_data.to_hash)
end

Private Instance Methods

raise_invalid_base_url_error(original_error) click to toggle source
# File lib/rack/service_api_versioning/encoded_api_version_data.rb, line 42
def raise_invalid_base_url_error(original_error)
  raise InvalidBaseUrlError.new base_url, original_error
end
return_data_params() click to toggle source
# File lib/rack/service_api_versioning/encoded_api_version_data.rb, line 46
def return_data_params
  { api_version: api_version, base_url: base_url, name: name,
    vendor_org: vendor_org }
end
version_data() click to toggle source
# File lib/rack/service_api_versioning/encoded_api_version_data.rb, line 51
def version_data
  ReturnData.new return_data_params
rescue Dry::Struct::Error => original_error
  raise_invalid_base_url_error original_error
end