class DTK::DSL::Template::V1::Dependency
Constants
- MODULE_NAMESPACE_DELIMS
Public Class Methods
parse_elements(input_hash, parent_info)
click to toggle source
# File lib/dsl/template/v1/dependency.rb, line 28 def self.parse_elements(input_hash, parent_info) ret = file_parser_output_array input_hash.each do |name, version| ret << parse_element({ 'name' => name, 'version' => version }, parent_info, :index => name) end ret end
Public Instance Methods
parse!()
click to toggle source
# File lib/dsl/template/v1/dependency.rb, line 36 def parse! name = input_hash['name'] version = input_hash['version'] split = split_by_delim(name) unless split.size == 2 raise parsing_error("The term '#{input_string}' is an ill-formed module reference") end namespace, module_name = split set :Namespace, namespace set :ModuleName, module_name set :ModuleVersion, version end
parser_output_type()
click to toggle source
# File lib/dsl/template/v1/dependency.rb, line 24 def parser_output_type :hash end
Private Instance Methods
split_by_delim(str)
click to toggle source
# File lib/dsl/template/v1/dependency.rb, line 53 def split_by_delim(str) if matching_delim = MODULE_NAMESPACE_DELIMS.find { |delim| str =~ Regexp.new(delim) } str.split(matching_delim) else [str] end end