module DTK::Client::ModuleRef::NamespaceModuleName
Constants
- PARSE_FORM_DELIM
- PRINT_FORM_DELIM
Public Class Methods
legal_form()
click to toggle source
# File lib/client/module_ref.rb, line 90 def self.legal_form print_form('NAMESPACE', 'MODULE-NAME') end
parse(term)
click to toggle source
returns [namespace, module_name] or raises error
# File lib/client/module_ref.rb, line 95 def self.parse(term) parse?(term) || raise(Error::Usage, illegal_term_msg(term)) end
print_form(namespace, module_name, opts = {})
click to toggle source
opts can have keys
:version
# File lib/client/module_ref.rb, line 82 def self.print_form(namespace, module_name, opts = {}) ret = "#{namespace}#{PRINT_FORM_DELIM}#{module_name}" if version = opts[:version] ret << "(#{version})" end ret end
Private Class Methods
illegal_term_msg(term)
click to toggle source
# File lib/client/module_ref.rb, line 112 def self.illegal_term_msg(term) # TODO: not showing how version can be in this "Illegal term '#{term}' for designating a module with a namespace; legal form is '#{legal_form}'" end
parse?(term)
click to toggle source
# File lib/client/module_ref.rb, line 101 def self.parse?(term) if match_delim = PARSE_FORM_DELIM.find { |delim| term =~ Regexp.new(delim) } split = term.split(match_delim) if split.size == 2 namespace = split[0] module_name = split[1] [namespace, module_name] end end end