Class: Packages::Maven::Metadata::CreatePluginsXmlService

Inherits:
BaseCreateXmlService show all
Defined in:
app/services/packages/maven/metadata/create_plugins_xml_service.rb

Constant Summary collapse

XPATH_PLUGIN_ARTIFACT_ID =
'//plugin/artifactId'
XPATH_PLUGINS =
'//metadata/plugins'
EMPTY_PLUGINS_PAYLOAD =
{
  changes_exist: true,
  empty_plugins: true
}.freeze

Constants inherited from BaseCreateXmlService

BaseCreateXmlService::INDENT_SPACE

Instance Method Summary collapse

Methods inherited from BaseCreateXmlService

#initialize

Constructor Details

This class inherits a constructor from Packages::Maven::Metadata::BaseCreateXmlService

Instance Method Details

#executeObject



14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/services/packages/maven/metadata/create_plugins_xml_service.rb', line 14

def execute
  return ServiceResponse.error(message: 'package not set') unless @package
  return ServiceResponse.error(message: 'metadata_content not set') unless @metadata_content
  return ServiceResponse.error(message: 'metadata_content is invalid') unless plugins_xml_node.present?
  return ServiceResponse.success(payload: EMPTY_PLUGINS_PAYLOAD) if plugin_artifact_ids_from_database.empty?

  changes_exist = update_plugins_list

  payload = { changes_exist: changes_exist, empty_versions: false }
  payload[:metadata_content] = xml_doc.to_xml(indent: INDENT_SPACE) if changes_exist

  ServiceResponse.success(payload: payload)
end