module Tros::Name

Public Class Methods

add_name(names, new_schema) click to toggle source

Add a new schema object to the names dictionary (in place).

    # File lib/tros/schema.rb
390 def self.add_name(names, new_schema)
391   new_fullname = new_schema.fullname
392   if Tros::Schema::VALID_TYPES.include?(new_fullname)
393     raise SchemaParseError, "#{new_fullname} is a reserved type name."
394   elsif names.nil?
395     names = {}
396   elsif names.has_key?(new_fullname)
397     raise SchemaParseError, "The name \"#{new_fullname}\" is already in use."
398   end
399 
400   names[new_fullname] = new_schema
401   names
402 end
extract_namespace(name, namespace) click to toggle source
    # File lib/tros/schema.rb
381 def self.extract_namespace(name, namespace)
382   parts = name.split('.')
383   if parts.size > 1
384     namespace, name = parts[0..-2].join('.'), parts.last
385   end
386   return name, namespace
387 end
make_fullname(name, namespace) click to toggle source
    # File lib/tros/schema.rb
404 def self.make_fullname(name, namespace)
405   if !name.include?('.') && !namespace.nil?
406     namespace + '.' + name
407   else
408     name
409   end
410 end