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