Class: PactBroker::Api::Resources::Matrix
- Inherits:
-
BaseResource
- Object
- Webmachine::Resource
- BaseResource
- PactBroker::Api::Resources::Matrix
- Defined in:
- lib/pact_broker/api/resources/matrix.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#selectors ⇒ Object
readonly
Returns the value of attribute selectors.
Attributes inherited from BaseResource
Instance Method Summary collapse
- #allowed_methods ⇒ Object
- #content_types_provided ⇒ Object
-
#initialize ⇒ Matrix
constructor
A new instance of Matrix.
- #lines ⇒ Object
- #malformed_request? ⇒ Boolean
- #to_json ⇒ Object
- #to_text ⇒ Object
Methods inherited from BaseResource
#base_url, #charsets_provided, #consumer, #consumer_name, #contract_validation_errors?, #database_connector, #decorator_context, #encode, #find_pacticipant, #finish_request, #forbidden?, #handle_exception, #identifier_from_path, #invalid_json?, #is_authorized?, #pact, #pact_params, #pacticipant_name, #params, #params_with_string_keys, #provider, #provider_name, #request_body, #resource_url, #set_json_error_message, #set_json_validation_error_messages, #update_matrix_after_request?, #validation_errors?
Methods included from Logging
Methods included from Authentication
Methods included from PactBrokerUrls
#badge_url_for_latest_pact, #build_webhook_metadata, #consumer_webhooks_url, #dashboard_url_for_integration, #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_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_versions_url, #pacticipant_url, #pacticipant_url_from_params, #pacticipants_url, #parse_webhook_metadata, #previous_distinct_diff_url, #previous_distinct_pact_version_url, #provider_webhooks_url, #tag_url, #tags_url, #templated_diff_url, #templated_label_url_for_pacticipant, #templated_tag_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 Services
#badge_service, #certificate_service, #group_service, #index_service, #integration_service, #label_service, #matrix_service, #metrics_service, #pact_service, #pacticipant_service, #tag_service, #verification_service, #version_service, #webhook_service, #webhook_trigger_service
Constructor Details
#initialize ⇒ Matrix
Returns a new instance of Matrix.
12 13 14 15 |
# File 'lib/pact_broker/api/resources/matrix.rb', line 12 def initialize super @selectors, @options = PactBroker::Matrix::ParseQuery.call(request.uri.query) end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
10 11 12 |
# File 'lib/pact_broker/api/resources/matrix.rb', line 10 def @options end |
#selectors ⇒ Object (readonly)
Returns the value of attribute selectors.
10 11 12 |
# File 'lib/pact_broker/api/resources/matrix.rb', line 10 def selectors @selectors end |
Instance Method Details
#allowed_methods ⇒ Object
24 25 26 |
# File 'lib/pact_broker/api/resources/matrix.rb', line 24 def allowed_methods ["GET", "OPTIONS"] end |
#content_types_provided ⇒ Object
17 18 19 20 21 22 |
# File 'lib/pact_broker/api/resources/matrix.rb', line 17 def content_types_provided [ ["application/hal+json", :to_json], ["text/plain", :to_text] ] end |
#lines ⇒ Object
46 47 48 |
# File 'lib/pact_broker/api/resources/matrix.rb', line 46 def lines @lines ||= matrix_service.find(selectors, ) end |
#malformed_request? ⇒ Boolean
28 29 30 31 32 33 34 35 36 |
# File 'lib/pact_broker/api/resources/matrix.rb', line 28 def malformed_request? = matrix_service.validate_selectors(selectors) if .any? true else false end end |
#to_json ⇒ Object
38 39 40 |
# File 'lib/pact_broker/api/resources/matrix.rb', line 38 def to_json PactBroker::Api::Decorators::MatrixDecorator.new(lines).to_json(user_options: { base_url: base_url }) end |
#to_text ⇒ Object
42 43 44 |
# File 'lib/pact_broker/api/resources/matrix.rb', line 42 def to_text PactBroker::Api::Decorators::MatrixTextDecorator.new(lines).to_text(user_options: { base_url: base_url }) end |