class PactBroker::Api::Resources::DeployedVersion
Attributes
currently_deployed_param[R]
Public Class Methods
new()
click to toggle source
Calls superclass method
# File lib/pact_broker/api/resources/deployed_version.rb, line 11 def initialize super @currently_deployed_param = params(default: {})[:currentlyDeployed] end
Public Instance Methods
allowed_methods()
click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 28 def allowed_methods ["GET", "PATCH", "OPTIONS"] end
content_types_accepted()
click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 22 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 16 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 48 def from_merge_patch_json if request.patch? if resource_exists? process_currently_deployed_param else 404 end else 415 end end
malformed_request?()
click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 36 def malformed_request? if request.patch? return invalid_json? else false end end
policy_name()
click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 60 def policy_name :'versions::version' end
policy_record()
click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 64 def policy_record deployed_version&.version end
resource_exists?()
click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 32 def resource_exists? !!deployed_version end
to_json()
click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 44 def to_json decorator_class(:deployed_version_decorator).new(deployed_version).to_json(decorator_options) end
Private Instance Methods
deployed_version()
click to toggle source
# File lib/pact_broker/api/resources/deployed_version.rb, line 84 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 72 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 88 def uuid identifier_from_path[:uuid] end