class PactBroker::Api::Resources::DeployedVersionsForVersionAndEnvironment

Attributes

deployed_version[R]
existing_deployed_version[R]

Public Instance Methods

allowed_methods() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 16
def allowed_methods
  ["GET", "POST", "OPTIONS"]
end
content_types_accepted() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 8
def content_types_accepted
  [["application/json", :from_json]]
end
content_types_provided() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 12
def content_types_provided
  [["application/hal+json", :to_json]]
end
create_path() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 28
def create_path
  "dummy"
end
from_json() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 32
def from_json
  @deployed_version = deployed_version_service.find_or_create(deployed_version_uuid, version, environment, application_instance)
  response.headers["Location"] = deployed_version_url(deployed_version, base_url)
  response.body = decorator_class(:deployed_version_decorator).new(deployed_version).to_json(**decorator_options)
end
policy_name() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 42
def policy_name
  :'versions::deployed_versions'
end
policy_record() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 46
def policy_record
  environment
end
post_is_create?() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 24
def post_is_create?
  true
end
resource_exists?() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 20
def resource_exists?
  !!version && !!environment
end
to_json() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 38
def to_json
  decorator_class(:deployed_versions_decorator).new(deployed_versions).to_json(**decorator_options(title: title))
end

Private Instance Methods

application_instance() click to toggle source

TODO disallow an empty string because that is used as a NULL indicator in the database

# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 75
def application_instance
  parameters = params(default: {})
  (parameters[:applicationInstance] || parameters[:target])&.to_s
end
deployed_version_uuid() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 70
def deployed_version_uuid
  @deployed_version_uuid ||= deployed_version_service.next_uuid
end
deployed_versions() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 62
def deployed_versions
  @deployed_versions ||= deployed_version_service.find_deployed_versions_for_version_and_environment(version, environment)
end
environment() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 58
def environment
  @environment ||= environment_service.find(environment_uuid)
end
environment_uuid() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 66
def environment_uuid
  identifier_from_path[:environment_uuid]
end
title() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 80
def title
  "Deployed versions for #{pacticipant_name} version #{pacticipant_version_number} in environment #{environment.display_name}"
end
version() click to toggle source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 54
def version
  @version ||= version_service.find_by_pacticipant_name_and_number(identifier_from_path)
end