Sha256: c73dd8cb8b4773240a3595d7be22990cfad0d83b9fe587b7d662bd948dcd233a
Contents?: true
Size: 822 Bytes
Versions: 1
Compression:
Stored size: 822 Bytes
Contents
# frozen_string_literal: true 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&.name }.compact end def node const, _, 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
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
zapata-1.0.0 | lib/zapata/primitive/klass.rb |