class Steep::Names::Base
def self.parse(string)
def self.parse(string) namespace = AST::Namespace.parse(string.to_s) *_, name = namespace.path new(namespace: namespace.parent, name: name) end
def ==(other)
def ==(other) other.is_a?(self.class) && other.name == name && other.namespace == namespace end
def absolute!
def absolute! self.class.new(namespace: namespace.absolute!, name: name) end
def absolute?
def absolute? namespace.absolute? end
def hash
def hash self.class.hash ^ name.hash ^ namespace.hash end
def in_namespace(namespace)
def in_namespace(namespace) if absolute? self else self.class.new(namespace: namespace + self.namespace, name: name) end end
def initialize(namespace:, name:, location: nil)
def initialize(namespace:, name:, location: nil) @namespace = namespace @name = name @location = location end
def relative?
def relative? !absolute? end
def to_s
def to_s "#{namespace}#{name}" end