Class: PactBroker::Api::Decorators::BaseDecorator
- Inherits:
-
Roar::Decorator
- Object
- Roar::Decorator
- PactBroker::Api::Decorators::BaseDecorator
- Includes:
- FormatDateTime, PactBrokerUrls, Roar::JSON::HAL, Roar::JSON::HAL::Links
- Defined in:
- lib/pact_broker/api/decorators/base_decorator.rb
Direct Known Subclasses
BasicPacticipantDecorator, BranchDecorator, BranchVersionDecorator, DasherizedVersionDecorator, DeployedVersionDecorator, DeployedVersionsDecorator, DryValidationErrorsProblemJsonDecorator, EmbeddedBranchVersionDecorator, EmbeddedDeployedVersionDecorator, EmbeddedEnvironmentDecorator, EmbeddedErrorProblemJsonDecorator, EmbeddedLabelDecorator, EmbeddedPacticipantDecorator, EmbeddedReleasedVersionDecorator, EmbeddedTagDecorator, EmbeddedVersionDecorator, EnvironmentDecorator, EnvironmentsDecorator, ExtendedPactDecorator::TagDecorator, ExtendedVerificationDecorator::TagDecorator, IntegrationDecorator, IntegrationsDecorator, LabelDecorator, LabelsDecorator, NonEmbeddedPacticipantCollectionDecorator, NoticesDecorator, PactCollectionDecorator, PactDecorator, PactDetailsDecorator, PactPacticipantDecorator, PactVersionDecorator, PactVersionsDecorator, PactWebhooksStatusDecorator, PacticipantBranchesDecorator, PacticipantDecorator, PacticipantsDecorator, PactsForVerificationQueryDecorator, ProviderPactsDecorator, PublishContractDecorator, PublishContractsDecorator, PublishContractsResultsDecorator, ReleasedVersionDecorator, ReleasedVersionsDecorator, TagDecorator, TaggedPactVersionsDecorator, TriggeredWebhookDecorator, TriggeredWebhookLogsDecorator, TriggeredWebhookLogsDecorator::WebhookExecutionDecorator, TriggeredWebhooksDecorator, VerifiablePactDecorator, VerifiablePactsDecorator, VerificationDecorator, VerificationDecorator::TagDecorator, VerificationSummaryDecorator, VersionDecorator, VersionsDecorator, WebhookDecorator, WebhookDecorator::WebhookEventDecorator, WebhookExecutionResultDecorator, WebhookExecutionResultDecorator::ErrorDecorator, WebhookExecutionResultDecorator::HTTPRequestDecorator, WebhookExecutionResultDecorator::HTTPResponseDecorator, WebhookRequestTemplateDecorator, WebhooksDecorator
Constant Summary
Constants included from FormatDateTime
FormatDateTime::DATE_TIME_CLASS
Constants included from Pacts::Metadata
Class Method Summary collapse
-
.camelize_property_names ⇒ Object
Call this method to automatically camelize property names without having to define an :as each time.
-
.eager_load_associations ⇒ Array<Symbol>
Returns the names of the model associations to eager load for use with this decorator.
-
.property(name, options = {}, &block) ⇒ Object
Overrides the default property method to add a camelised :as option when camelize_property_names has been called for this decorator.
Methods included from FormatDateTime
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 Logging
included, #log_error, #log_with_tag, #measure_info
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
Class Method Details
.camelize_property_names ⇒ Object
Call this method to automatically camelize property names without having to define an :as each time.
21 22 23 |
# File 'lib/pact_broker/api/decorators/base_decorator.rb', line 21 def self.camelize_property_names @camelize = true end |
.eager_load_associations ⇒ Array<Symbol>
Returns the names of the model associations to eager load for use with this decorator. The default implementation attempts to do an “auto detect” of the associations. For single item decorators, it attempts to identify the attributes that are themselves models. For collection decorators, it delegates to the eager_load_associations method of the single item decorator used to decorate the collection.
The “auto detect” logic can only go so far. It cannot identify when a child object needs its own child object(s) to render the attribute. This method should be overridden when the “auto detect” logic cannot identify the correct associations to load. eg VersionDecorator
48 49 50 51 52 53 54 |
# File 'lib/pact_broker/api/decorators/base_decorator.rb', line 48 def self.eager_load_associations if is_collection_resource? collection_item_decorator_class.eager_load_associations else end end |
.property(name, options = {}, &block) ⇒ Object
Overrides the default property method to add a camelised :as option when camelize_property_names has been called for this decorator.
28 29 30 31 32 33 34 35 |
# File 'lib/pact_broker/api/decorators/base_decorator.rb', line 28 def self.property(name, ={}, &block) if .delete(:camelize) || @camelize camelized_name = name.to_s.camelcase(false).to_sym super(name, { as: camelized_name }.merge(), &block) else super end end |