class DTK::Client::ModuleRef

Constants

MASTER_VERSION

Attributes

client_dir_path[R]
module_name[R]
namespace[R]
version[RW]

Public Class Methods

new(opts = {}) click to toggle source

opts can have keys

:namespace
:module_name
:namespace_module_name
:version
:client_dir_path
# File lib/client/module_ref.rb, line 30
def initialize(opts = {})
  if opts[:namespace] and opts[:module_name]
    @namespace   = opts[:namespace]
    @module_name = opts[:module_name]
  elsif opts[:namespace_module_name]
    namespace, module_name =  NamespaceModuleName.parse(opts[:namespace_module_name])
    @namespace   = namespace
    @module_name = module_name
  else
    raise Error, "Either :module_name and :namespace must be given or :namespace_module_name"
  end
  @version         = opts[:version] 
  @client_dir_path = opts[:client_dir_path]
end
pretty_print(module_name, namespace, version = nil) click to toggle source
# File lib/client/module_ref.rb, line 45
def self.pretty_print(module_name, namespace, version = nil)
  # TODO: update ::DTK::Common::PrettyPrintForm to insert 'master' when version is nil
  version = version.join(', ')  if version.is_a?(Array)

  ::DTK::Common::PrettyPrintForm.module_ref(module_name, :namespace => namespace, :version => version || 'master')
end

Public Instance Methods

exact_match?(module_ref) click to toggle source
# File lib/client/module_ref.rb, line 69
def exact_match?(module_ref)
  same_module?(module_ref) and @namespace == module_ref.namespace and @version == module_ref.version
end
is_master_version?() click to toggle source
# File lib/client/module_ref.rb, line 61
def is_master_version?
  @version.nil? or @version == MASTER_VERSION
end
pretty_print() click to toggle source
# File lib/client/module_ref.rb, line 51
def pretty_print
  self.class.pretty_print(@module_name, @namespace, @version)
end
print_form() click to toggle source

TODO: look at deprecating print_form

same_module?(module_ref) click to toggle source
# File lib/client/module_ref.rb, line 65
def same_module?(module_ref)
  @module_name == module_ref.module_name 
end