Class: DTK::Network::Client::ModuleRef::Dependency::Local
- Inherits:
-
DTK::Network::Client::ModuleRef::Dependency
- Object
- DTK::Network::Client::ModuleRef
- DTK::Network::Client::ModuleRef::Dependency
- DTK::Network::Client::ModuleRef::Dependency::Local
- Defined in:
- lib/client/module_ref/dependency/local.rb
Constant Summary collapse
- MODULE_FILE =
'dtk.module.yaml'
Instance Attribute Summary collapse
-
#source ⇒ Object
readonly
Returns the value of attribute source.
-
#version ⇒ Object
readonly
Returns the value of attribute version.
Attributes inherited from DTK::Network::Client::ModuleRef
#explicit_path, #full_name, #name, #namespace, #repo_dir
Instance Method Summary collapse
- #dtkn_versions_with_dependencies ⇒ Object
-
#initialize(module_info) ⇒ Local
constructor
A new instance of Local.
Methods inherited from DTK::Network::Client::ModuleRef::Dependency
create_local_or_remote, is_local?
Methods included from RestWrapper
#rest_delete, #rest_get, #rest_post
Constructor Details
#initialize(module_info) ⇒ Local
Returns a new instance of Local.
8 9 10 11 12 13 14 15 16 |
# File 'lib/client/module_ref/dependency/local.rb', line 8 def initialize(module_info) super(name: module_info[:name] || module_info['module'], namespace: module_info[:namespace] || module_info['namespace']) version_hash = module_info[:version] || module_info['version'] version_str = version_hash[:version] || version_hash['version'] version_source = version_hash[:source] || version_hash['source'] @version = ModuleRef::Version.new(version_str) @source = find_source(version_source) end |
Instance Attribute Details
#source ⇒ Object (readonly)
Returns the value of attribute source.
7 8 9 |
# File 'lib/client/module_ref/dependency/local.rb', line 7 def source @source end |
#version ⇒ Object (readonly)
Returns the value of attribute version.
7 8 9 |
# File 'lib/client/module_ref/dependency/local.rb', line 7 def version @version end |
Instance Method Details
#dtkn_versions_with_dependencies ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/client/module_ref/dependency/local.rb', line 18 def dtkn_versions_with_dependencies require 'dtk_dsl' file_type = DTK::DSL::FileType::CommonModule::DSLFile::Top file_obj = DTK::DSL::FileObj.new(file_type, @source, { content: FileHelper.get_content?("#{@source}/#{MODULE_FILE}") }) parsed_module = file_obj.parse_content(:common_module_summary) dependent_modules = parsed_module.val(:DependentModules) || [] dependencies = dependent_modules.map { |dep| { 'namespace' => dep[:namespace], 'module' => dep[:module_name], 'version' => dep[:version] }} [ { 'name' => self.version.str_version, 'version' => self.version.str_version, 'dependencies' => dependencies } ] end |