Sha256: db918ba4e875dbbbe375540f1006533a6e07309369b04488ce8125f0c0a417dc
Contents?: true
Size: 959 Bytes
Versions: 1
Compression:
Stored size: 959 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(ParseTree.new.parse_tree_for_string(str)[0], 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
kevinrutherford-reek-1.1.1 | lib/reek/name.rb |