class PactBroker::Api::Resources::DeployedVersion

Public Instance Methods

allowed_methods() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 23
def allowed_methods
  ["GET", "PATCH", "OPTIONS"]
end
content_types_accepted() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 17
def content_types_accepted
  [
    ["application/merge-patch+json", :from_merge_patch_json]
  ]
end
content_types_provided() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 11
def content_types_provided
  [
    ["application/hal+json", :to_json]
  ]
end
from_merge_patch_json() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 39
def from_merge_patch_json
  if request.patch?
    if resource_exists?
      process_currently_deployed_param
    else
      404
    end
  else
    415
  end
end
patch_can_create?() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 27
def patch_can_create?
  false
end
policy_name() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 51
def policy_name
  :'versions::deployed_version'
end
policy_record() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 61
def policy_record
  deployed_version&.environment
end
policy_record_context() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 55
def policy_record_context
  {
    pacticipant: deployed_version&.pacticipant
  }
end
resource_exists?() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 31
def resource_exists?
  !!deployed_version
end
to_json() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 35
def to_json
  decorator_class(:deployed_version_decorator).new(deployed_version).to_json(**decorator_options)
end

Private Instance Methods

currently_deployed_param() click to toggle source

can’t use ||= with a potentially nil value

# File lib/pact_broker/api/resources/deployed_version.rb, line 68
def currently_deployed_param
  if defined?(@currently_deployed_param)
    @currently_deployed_param
  else
    @currently_deployed_param = params(default: {})[:currentlyDeployed]
  end
end
deployed_version() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 88
def deployed_version
  @deployed_version ||= deployed_version_service.find_by_uuid(uuid)
end
process_currently_deployed_param() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 76
def process_currently_deployed_param
  if currently_deployed_param == false
    @deployed_version = deployed_version_service.record_version_undeployed(deployed_version)
    response.body = to_json
  elsif currently_deployed_param == true
    set_json_validation_error_messages(currentlyDeployed: [message("errors.validation.cannot_set_currently_deployed_true")])
    422
  else
    response.body = to_json
  end
end
uuid() click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 92
def uuid
  identifier_from_path[:uuid]
end