Sha256: f1ddf75726804bf46e7fda93f3b4538cfc105e32f6b21734e8b17403cd8c7af1

Contents?: true

Size: 644 Bytes

Versions: 5

Compression:

Stored size: 644 Bytes

Contents

module Analyst
  module Entities
    class Class < Entity

      include HasMethods

      handles_node :class

      alias :macros :method_calls

      def kind
        "Class"
      end

      def singleton_class_blocks
        contents.select { |entity| entity.is_a? Analyst::Entities::SingletonClass }
      end

      def name
        name_entity.name
      end

      def full_name
        parent.full_name.empty? ? name : parent.full_name + '::' + name
      end

      private

      def name_entity
        @name_entity ||= process_node(name_node)
      end

      def name_node
        ast.children.first
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
analyst-1.2.4 lib/analyst/entities/class.rb
analyst-1.2.3 lib/analyst/entities/class.rb
analyst-1.2.2 lib/analyst/entities/class.rb
analyst-1.2.1 lib/analyst/entities/class.rb
analyst-1.2.0 lib/analyst/entities/class.rb