class PactBroker::Api::Resources::DeployedVersionsForVersionAndEnvironment
Attributes
Public Instance Methods
Source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 16 def allowed_methods ["GET", "POST", "OPTIONS"] end
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
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
Source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 28 def create_path "dummy" end
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
Source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 42 def policy_name :'versions::deployed_versions' end
Source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 46 def policy_record environment end
Source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 24 def post_is_create? true end
Source
# File lib/pact_broker/api/resources/deployed_versions_for_version_and_environment.rb, line 20 def resource_exists? !!version && !!environment end
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
Source
# 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
TODO disallow an empty string because that is used as a NULL indicator in the database
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
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
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
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
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
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