class PactBroker::Api::Resources::ReleasedVersionsForVersionAndEnvironment
Attributes
released_version[R]
Public Instance Methods
allowed_methods()
click to toggle source
# File lib/pact_broker/api/resources/released_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/released_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/released_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/released_versions_for_version_and_environment.rb, line 28 def create_path released_version_url(existing_released_version || OpenStruct.new(uuid: next_released_version_uuid), base_url) end
finish_request()
click to toggle source
Calls superclass method
PactBroker::Api::Resources::BaseResource#finish_request
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 51 def finish_request if request.post? && existing_released_version response.code = 200 end super end
from_json()
click to toggle source
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 32 def from_json existing_released_version # make sure we have this before we update the database @released_version = released_version_service.create_or_update(next_released_version_uuid, version, environment) response.body = decorator_class(:released_version_decorator).new(released_version).to_json(**decorator_options) true end
policy_name()
click to toggle source
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 43 def policy_name :'versions::released_versions' end
policy_record()
click to toggle source
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 47 def policy_record environment end
post_is_create?()
click to toggle source
# File lib/pact_broker/api/resources/released_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/released_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/released_versions_for_version_and_environment.rb, line 39 def to_json decorator_class(:released_versions_decorator).new(released_versions).to_json(**decorator_options(title: title)) end
Private Instance Methods
environment()
click to toggle source
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 74 def environment @environment ||= environment_service.find(environment_uuid) end
environment_uuid()
click to toggle source
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 88 def environment_uuid identifier_from_path[:environment_uuid] end
existing_released_version()
click to toggle source
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 62 def existing_released_version if defined?(@existing_released_version) @existing_released_version else @existing_released_version = version && environment && released_version_service.find_released_version_for_version_and_environment(version, environment) end end
next_released_version_uuid()
click to toggle source
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 92 def next_released_version_uuid @released_version_uuid ||= released_version_service.next_uuid end
released_versions()
click to toggle source
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 78 def released_versions @released_versions ||= begin if existing_released_version [existing_released_version] else [] end end end
title()
click to toggle source
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 96 def title "Released versions for #{pacticipant.display_name} version #{pacticipant_version_number} in #{environment.display_name}" end
version()
click to toggle source
# File lib/pact_broker/api/resources/released_versions_for_version_and_environment.rb, line 70 def version @version ||= version_service.find_by_pacticipant_name_and_number(identifier_from_path) end