Sha256: d678d0c3016fdca2bf609f66581a2d9cc553250ae896d5062d91f245d9deeef9
Contents?: true
Size: 582 Bytes
Versions: 1
Compression:
Stored size: 582 Bytes
Contents
require 'ruby_parser' module DRG class Ruby class Const CONSTANT_DEFS = [:class, :module, :cdecl] def initialize(file) @parser = RubyParser.new.parse File.read(file) end def name(sexp = @parser, list = []) sexp = Array(sexp) if sexp[1].is_a?(Sexp) && sexp[1][0] == :colon2 parts = sexp[1].to_a.flatten list.concat parts.drop(parts.size / 2) elsif CONSTANT_DEFS.include?(sexp[0]) name(sexp.compact[2], list << sexp[1].to_s) end list.join('::') end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
drg-0.13.1 | lib/drg/ruby/const.rb |