class DTK::DSL::ServiceAndComponentInfo::ModuleRef

Constants

NAMESPACE_NAME_DELIM

Attributes

module_name[R]
namespace[R]
version[R]

Public Class Methods

new(namespace, module_name, version) click to toggle source
# File lib/dsl/service_and_component_info/module_ref.rb, line 22
def initialize(namespace, module_name, version)
  @namespace = namespace
  @module_name = module_name
  @version     = version || 'master'
end

Public Instance Methods

combined_module_form() click to toggle source
# File lib/dsl/service_and_component_info/module_ref.rb, line 30
def combined_module_form
  { "#{@namespace}#{NAMESPACE_NAME_DELIM}#{@module_name}" => @version }
end
print_form() click to toggle source
raise_error_if_conflict(ndx_existing_modules) click to toggle source
# File lib/dsl/service_and_component_info/module_ref.rb, line 34
def raise_error_if_conflict(ndx_existing_modules)
  if matching_module_info = ndx_existing_modules[@module_name]
    fail Error::Usage, conflict_error_msg(matching_module_info) unless match?(matching_module_info)
  end
end

Private Instance Methods

conflict_error_msg(matching_module_info) click to toggle source
# File lib/dsl/service_and_component_info/module_ref.rb, line 50
def conflict_error_msg(matching_module_info)
  "Conflicting versions of module '#{@module_name}': '#{print_form}' vs '#{matching_module_info.print_form}'"
end
match?(module_info2) click to toggle source
# File lib/dsl/service_and_component_info/module_ref.rb, line 46
def match?(module_info2)
  @version == module_info2.version and @module_name == module_info2.module_name and @namespace == module_info2.namespace
end