Class: PactBroker::Api::Resources::PacticipantBranches
- Inherits:
-
BaseResource
- Object
- Webmachine::Resource
- BaseResource
- PactBroker::Api::Resources::PacticipantBranches
- Includes:
- AfterReply, FilterMethods, PaginationMethods
- Defined in:
- lib/pact_broker/api/resources/pacticipant_branches.rb
Constant Summary
Constants included from Pacts::Metadata
Constants included from Services
Instance Attribute Summary
Attributes inherited from BaseResource
Instance Method Summary collapse
- #allowed_methods ⇒ Object
- #content_types_provided ⇒ Object
-
#delete_resource ⇒ Object
Allows bulk deletion of pacticipant branches, keeping the specified branches and the main branch.
- #policy_name ⇒ Object
- #resource_exists? ⇒ Boolean
- #to_json ⇒ Object
Methods included from AfterReply
Methods included from FilterMethods
Methods included from PaginationMethods
#default_pagination_options, #pagination_options
Methods inherited from BaseResource
#any_request_body?, #api_contract_class, #application_context, #base_url, #charsets_provided, #consumer, #consumer_name, #consumer_specified?, #consumer_version_number, #content_type_is_json_but_invalid_json_provided?, #content_type_json?, #database_connector, #decorator_class, #decorator_context, #decorator_options, #encode, #find_pacticipant, #finish_request, #forbidden?, #identifier_from_path, #initialize, #integration, #invalid_json?, #is_authorized?, #known_methods, #malformed_request?, #malformed_request_for_json_with_schema?, #options, #pact, #pact_params, #pacticipant, #pacticipant_name, #pacticipant_specified?, #pacticipant_version_number, #params, #params_with_string_keys, #patch_can_create?, #provider, #provider_name, #provider_specified?, #put_can_create?, #request_body, #request_body_required?, #resource_url, #schema, #ui_base_url, #validation_errors_for_schema?
Methods included from Logging
included, #log_error, #log_with_tag, #measure_info
Methods included from Messages
#message, #pluralize, #validation_message, #validation_message_at_index
Methods included from Contracts::UTF8Validation
#fragment_before_invalid_utf_8_char
Methods included from ErrorHandlingMethods
#decorator_options_for_error, #error_response_body, #error_response_content_type, #handle_exception, #log_and_report_error, #problem_json_error_content_type?, #set_json_error_message, #set_json_validation_error_messages, #validation_errors_decorator_class, #validation_errors_response_body
Methods included from Authorization
#action, #create_methods, #delete_methods, #read_methods, #update_methods
Methods included from Authentication
Methods included from PactBrokerUrls
#append_query_if_present, #badge_url_for_latest_pact, #branch_url, #branch_version_url, #branch_versions_url, #consumer_webhooks_url, #currently_deployed_versions_for_environment_url, #currently_supported_versions_for_environment_url, #dashboard_url_for_integration, #decode_pact_metadata, #deployed_version_url, #deployed_versions_for_version_and_environment_url, #encode_metadata, #environment_url, #environments_url, #group_url, #hal_browser_url, #integration_url, #label_url, #labels_url, #latest_pact_url, #latest_pacts_url, #latest_tagged_pact_url, #latest_untagged_pact_url, #latest_verification_for_pact_url, #latest_verifications_for_consumer_version_url, #latest_version_for_branch_url, #latest_version_url, #matrix_badge_url_for_selectors, #matrix_for_pact_url, #matrix_for_pacticipant_version_url, #matrix_url, #matrix_url_from_params, #new_verification_url, #pact_triggered_webhooks_url, #pact_url, #pact_url_from_params, #pact_version_url, #pact_version_url_with_metadata, #pact_version_url_with_webhook_metadata, #pact_version_with_consumer_version_metadata_url, #pact_versions_for_branch_url, #pact_versions_url, #pacticipant_branches_url, #pacticipant_url, #pacticipant_url_from_params, #pacticipants_url, #pacticipants_with_label_url, #previous_distinct_diff_url, #previous_distinct_pact_version_url, #provider_webhooks_url, #record_undeployment_url, #released_version_url, #released_versions_for_version_and_environment_url, #tag_url, #tagged_pact_versions_url, #tags_url, #templated_branch_version_url_for_pacticipant, #templated_can_i_deploy_badge_url, #templated_can_i_deploy_branch_to_environment_badge_url, #templated_can_i_deploy_url, #templated_diff_url, #templated_label_url_for_pacticipant, #templated_tag_url_for_pacticipant, #templated_version_url_for_pacticipant, #triggered_webhook_logs_url, #url_encode, #verification_publication_url, #verification_triggered_webhooks_url, #verification_url, #verification_url_from_params, #version_url, #version_url_from_params, #versions_url, #webhook_execution_url, #webhook_url, #webhooks_for_consumer_and_provider_url, #webhooks_for_pact_url, #webhooks_status_url, #webhooks_url
Methods included from Pacts::Metadata
#build_metadata_for_consumer_version_number, #build_metadata_for_latest_pact, #build_metadata_for_pact_for_verification, #build_metadata_for_webhook_triggered_by_pact_publication, #parse_hash, #parse_metadata, #parse_object
Methods included from Services
#badge_service, #branch_service, #certificate_service, #contract_service, #deployed_version_service, #environment_service, #get_service, #group_service, #index_service, #integration_service, #label_service, #matrix_service, #metrics_service, #pact_service, #pacticipant_service, #register_default_services, #register_service, #released_version_service, #tag_service, #verification_service, #version_service, #webhook_service, #webhook_trigger_service
Constructor Details
This class inherits a constructor from PactBroker::Api::Resources::BaseResource
Instance Method Details
#allowed_methods ⇒ Object
19 20 21 |
# File 'lib/pact_broker/api/resources/pacticipant_branches.rb', line 19 def allowed_methods ["GET", "DELETE", "OPTIONS"] end |
#content_types_provided ⇒ Object
15 16 17 |
# File 'lib/pact_broker/api/resources/pacticipant_branches.rb', line 15 def content_types_provided [["application/hal+json", :to_json]] end |
#delete_resource ⇒ Object
Allows bulk deletion of pacticipant branches, keeping the specified branches and the main branch. Deletes the branches asyncronously, after the response has been sent, for performance reasons.
37 38 39 40 41 42 43 44 |
# File 'lib/pact_broker/api/resources/pacticipant_branches.rb', line 37 def delete_resource after_reply do branch_service.delete_branches_for_pacticipant(pacticipant, exclude: exclude) end notices = branch_service.branch_deletion_notices(pacticipant, exclude: exclude) response.body = decorator_class(:notices_decorator).new(notices).to_json(**) 202 end |
#policy_name ⇒ Object
31 32 33 |
# File 'lib/pact_broker/api/resources/pacticipant_branches.rb', line 31 def policy_name :'versions::branches' end |
#resource_exists? ⇒ Boolean
23 24 25 |
# File 'lib/pact_broker/api/resources/pacticipant_branches.rb', line 23 def resource_exists? !!pacticipant end |
#to_json ⇒ Object
27 28 29 |
# File 'lib/pact_broker/api/resources/pacticipant_branches.rb', line 27 def to_json decorator_class(:pacticipant_branches_decorator).new(branches).to_json(**(pacticipant: pacticipant)) end |