class PactBroker::Api::Resources::Version
Public Instance Methods
allowed_methods()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 20 def allowed_methods ["GET", "PUT", "PATCH", "DELETE", "OPTIONS"] end
content_types_accepted()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 13 def content_types_accepted [ ["application/json", :from_json], ["application/merge-patch+json", :from_merge_patch_json] ] end
content_types_provided()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 9 def content_types_provided [["application/hal+json", :to_json]] end
delete_resource()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 60 def delete_resource version_service.delete(version) true end
from_json()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 36 def from_json if request.really_put? handle_request do version_service.create_or_overwrite(pacticipant_name, pacticipant_version_number, parsed_version) end else 415 end end
from_merge_patch_json()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 46 def from_merge_patch_json if request.patch? handle_request do version_service.create_or_update(pacticipant_name, pacticipant_version_number, parsed_version) end else 415 end end
patch_can_create?()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 28 def patch_can_create? true end
policy_name()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 65 def policy_name :'versions::version' end
put_can_create?()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 24 def put_can_create? true end
resource_exists?()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 32 def resource_exists? !!version end
to_json()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 56 def to_json decorator_class(:version_decorator).new(version).to_json(**decorator_options(environments: environments)) end
Private Instance Methods
environments()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 82 def environments @environments ||= environment_service.find_for_pacticipant(version.pacticipant) end
handle_request() { || ... }
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 71 def handle_request response_code = version ? 200 : 201 @version = yield response.body = to_json response_code end
parsed_version()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 78 def parsed_version @parsed_version ||= Decorators::VersionDecorator.new(OpenStruct.new).from_json(request_body) end
version()
click to toggle source
# File lib/pact_broker/api/resources/version.rb, line 86 def version @version ||= version_service.find_by_pacticipant_name_and_number(identifier_from_path) end