Class: Avm::EacRedminePluginBase0::Sources::UpdateChanges::PluginsRequirements

Inherits:
Sources::Change
  • Object
show all
Defined in:
lib/avm/eac_redmine_plugin_base0/sources/update_changes/plugins_requirements.rb

Instance Method Summary collapse

Instance Method Details

#commit_messageString

Returns:

  • (String)


9
10
11
12
13
14
# File 'lib/avm/eac_redmine_plugin_base0/sources/update_changes/plugins_requirements.rb', line 9

def commit_message
  i18n_translate(
    __method__,
    dependencies_file: source.dependencies_file.relative_path_from(source.path)
  )
end

#dependenciesHash<String, Hash>

Returns:

  • (Hash<String, Hash>)


24
25
26
27
28
# File 'lib/avm/eac_redmine_plugin_base0/sources/update_changes/plugins_requirements.rb', line 24

def dependencies
  ::YAML.load_file(source.dependencies_file).keys.to_h do |plugin_id|
    [plugin_id, { 'version_or_higher' => plugin_version(plugin_id.to_sym) }]
  end
end

#performvoid

This method returns an undefined value.



17
18
19
20
21
# File 'lib/avm/eac_redmine_plugin_base0/sources/update_changes/plugins_requirements.rb', line 17

def perform
  return if source.dependencies_file.blank?

  source.dependencies_file.write(dependencies.to_yaml)
end

#plugin_source(plugin_id) ⇒ Avm::EacRedminePluginBase0::Sources::Base

Parameters:

  • plugin_id (Symbol)

Returns:



38
39
40
41
42
# File 'lib/avm/eac_redmine_plugin_base0/sources/update_changes/plugins_requirements.rb', line 38

def plugin_source(plugin_id)
  source.parent.subs.find do |e|
    e.is_a?(::Avm::EacRedminePluginBase0::Sources::Base) && e.plugin_id == plugin_id
  end || raise("Plugin with id \"#{plugin_id}\" not found")
end

#plugin_version(plugin_id) ⇒ String

Parameters:

  • plugin_id (Symbol)

Returns:

  • (String)


32
33
34
# File 'lib/avm/eac_redmine_plugin_base0/sources/update_changes/plugins_requirements.rb', line 32

def plugin_version(plugin_id)
  plugin_source(plugin_id).version.to_s
end