Class: Hashira::Analysis::Definition

Inherits:
Data
  • Object
show all
Defined in:
lib/hashira/analysis/definition.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#folderObject (readonly)

Returns the value of attribute folder

Returns:

  • (Object)

    the current value of folder



7
8
9
# File 'lib/hashira/analysis/definition.rb', line 7

def folder
  @folder
end

#nodeObject (readonly)

Returns the value of attribute node

Returns:

  • (Object)

    the current value of node



7
8
9
# File 'lib/hashira/analysis/definition.rb', line 7

def node
  @node
end

#pathObject (readonly)

Returns the value of attribute path

Returns:

  • (Object)

    the current value of path



7
8
9
# File 'lib/hashira/analysis/definition.rb', line 7

def path
  @path
end

Instance Method Details

#counted?Boolean

Returns:

  • (Boolean)


19
# File 'lib/hashira/analysis/definition.rb', line 19

def counted? = klass? || !Hashira::Analysis::Syntax.direct(node).empty?

#klass?Boolean

Returns:

  • (Boolean)


13
# File 'lib/hashira/analysis/definition.rb', line 13

def klass? = node.is_a?(Prism::ClassNode)

#nameObject



9
# File 'lib/hashira/analysis/definition.rb', line 9

def name = path.first

#nested?Boolean

Returns:

  • (Boolean)


11
# File 'lib/hashira/analysis/definition.rb', line 11

def nested? = path.length > 1

#singular?Boolean

Returns:

  • (Boolean)


15
# File 'lib/hashira/analysis/definition.rb', line 15

def singular? = klass? && !nested?

#superclassObject



17
# File 'lib/hashira/analysis/definition.rb', line 17

def superclass = node.superclass