Sha256: ba2eb1d8f7286b15f5ef574d4bab079319e32821b007546ba3d12ace6bf68be3
Contents?: true
Size: 1.62 KB
Versions: 9
Compression:
Stored size: 1.62 KB
Contents
require "pact_broker/api/resources/base_resource" require "pact_broker/api/decorators/versions_decorator" require "pact_broker/string_refinements" module PactBroker module Api module Resources class CurrentlySupportedVersionsForEnvironment < BaseResource using PactBroker::StringRefinements def content_types_provided [["application/hal+json", :to_json]] end def allowed_methods ["GET", "OPTIONS"] end def resource_exists? !!environment end def to_json decorator_class(decorator_name).new(released_versions).to_json(**decorator_options(title: title, expand: [:pacticipant, :version])) end def policy_name :'deployments::environment' end def policy_record environment end def decorator_name :released_versions_decorator end private def environment @environment ||= environment_service.find(environment_uuid) end def released_versions @released_versions ||= released_version_service.find_currently_supported_versions_for_environment(environment, **query_params) end def environment_uuid identifier_from_path[:environment_uuid] end def query_params { pacticipant_name: request.query["pacticipant"], pacticipant_version_number: request.query["version"] }.compact end def title "Currently supported versions in #{environment.display_name}" end end end end end
Version data entries
9 entries across 9 versions & 1 rubygems