Sha256: 7fc947adf4118b7802034babbe6f700ec976337c8645e9977c6e31fbc1edb022
Contents?: true
Size: 941 Bytes
Versions: 20
Compression:
Stored size: 941 Bytes
Contents
module Reek class Name include Comparable def self.resolve(exp, context) unless Array === exp return resolve_string(exp.to_s, context) end name = exp[1] case exp[0] when :colon2 return [resolve(name, context)[0], new(exp[2])] when :const return [ModuleContext.create(context, exp), new(name)] when :colon3 return [StopContext.new, new(name)] else return [context, new(name)] end end def self.resolve_string(str, context) return [context, new(str)] unless str =~ /::/ resolve(RubyParser.new.parse(str), context) end def initialize(sym) @name = sym.to_s end def hash # :nodoc: @name.hash end def <=>(other) # :nodoc: @name <=> other.to_s end alias eql? <=> def effective_name @name.gsub(/^@*/, '') end def to_s @name end end end
Version data entries
20 entries across 20 versions & 3 rubygems