Sha256: 899eecb3d402cbdcb4d097b53f8173ebe5902404dc23ba0bb4d73d71cd4fc86d
Contents?: true
Size: 817 Bytes
Versions: 10
Compression:
Stored size: 817 Bytes
Contents
module Zapata module Primitive class Klass < Base def initialize(code) @code = code @moduls = Diver.current_moduls.dup Diver.access_level = :public Diver.current_klass = self dive_deeper Diver.current_klass = nil end def parent_modul_names @moduls.map { |mod| mod and mod.name }.compact end def node const, inherited_from_klass, body = @code.to_a immediate_modul, klass = const.to_a chain = parent_modul_names + [immediate_modul, klass] name = chain.compact.join('::') type = @code.type OpenStruct.new( type: type, immediate_modul: immediate_modul, klass: klass, name: name, body: body ) end end end end
Version data entries
10 entries across 10 versions & 1 rubygems