class PactBroker::Api::Resources::ReleasedVersion
Public Instance Methods
Source
# File lib/pact_broker/api/resources/released_version.rb, line 21 def allowed_methods ["GET", "PATCH", "OPTIONS"] end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 15 def content_types_accepted [ ["application/merge-patch+json", :from_merge_patch_json] ] end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 11 def content_types_provided [["application/hal+json", :to_json]] end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 37 def from_merge_patch_json if request.patch? if resource_exists? process_currently_supported_param else 404 end else 415 end end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 25 def patch_can_create? false end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 49 def policy_name :'versions::released_version' end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 59 def policy_record released_version&.environment end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 53 def policy_record_context { pacticipant: released_version&.pacticipant } end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 29 def resource_exists? !!released_version end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 33 def to_json decorator_class(:released_version_decorator).new(released_version).to_json(**decorator_options) end
Private Instance Methods
Source
# File lib/pact_broker/api/resources/released_version.rb, line 66 def currently_supported_param if defined?(@currently_deployed_param) @currently_supported_param else @currently_supported_param = params(default: {})[:currentlySupported] end end
can’t use ||= with a potentially nil value
Source
# File lib/pact_broker/api/resources/released_version.rb, line 74 def process_currently_supported_param if currently_supported_param == false @released_version = released_version_service.record_version_support_ended(released_version) response.body = to_json elsif currently_supported_param == true set_json_validation_error_messages(currentlySupported: [message("errors.validation.cannot_set_currently_supported_true")]) 422 else response.body = to_json end end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 86 def released_version @released_version ||= released_version_service.find_by_uuid(uuid) end
Source
# File lib/pact_broker/api/resources/released_version.rb, line 90 def uuid identifier_from_path[:uuid] end