Class: PDoc::Models::Entity

Inherits:
Base
  • Object
show all
Defined in:
lib/pdoc/models/entity.rb

Instance Attribute Summary collapse

Attributes inherited from Base

#description, #file, #id, #line_number, #parent, #type

Instance Method Summary collapse

Methods inherited from Base

#ancestor_of?, #deprecated?, #descendant_of?, #doc_href, #full_name, #initialize, #inspect, instantiate, #name, #normalized_name, #register_on, #short_description, #to_json, #url

Constructor Details

This class inherits a constructor from PDoc::Models::Base

Instance Attribute Details

#aliasObject

Returns the value of attribute alias.



4
5
6
# File 'lib/pdoc/models/entity.rb', line 4

def alias
  @alias
end

Instance Method Details

#<=>(other) ⇒ Object



10
11
12
# File 'lib/pdoc/models/entity.rb', line 10

def <=>(other)
  id.downcase <=> other.id.downcase
end

#alias?Boolean

Returns:

  • (Boolean)


31
32
33
# File 'lib/pdoc/models/entity.rb', line 31

def alias?
  !!@alias
end

#aliasesObject

returns an array of aliases



36
37
38
# File 'lib/pdoc/models/entity.rb', line 36

def aliases
  @aliases ||= []
end

#aliases?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/pdoc/models/entity.rb', line 40

def aliases?
  @aliases && !@aliases.empty?
end

#methodized?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/pdoc/models/entity.rb', line 27

def methodized?
  !!@methodized
end

#signatureObject



23
24
25
# File 'lib/pdoc/models/entity.rb', line 23

def signature
  @signature ||= signatures.first
end

#signaturesObject



6
7
8
# File 'lib/pdoc/models/entity.rb', line 6

def signatures
  @signatures ||= []
end

#signatures?Boolean

Returns:

  • (Boolean)


19
20
21
# File 'lib/pdoc/models/entity.rb', line 19

def signatures?
  @signatures && !@signatures.empty?
end

#src_code_hrefObject



14
15
16
17
# File 'lib/pdoc/models/entity.rb', line 14

def src_code_href
  proc = Models.src_code_href
  @src_code_href ||= proc ? proc.call(self) : nil
end

#to_hashObject



44
45
46
47
48
49
50
51
# File 'lib/pdoc/models/entity.rb', line 44

def to_hash
  super.merge({
    :aliases => aliases.map { |a| a.id },
    :alias => self.alias ? self.alias.id : nil,
    :signatures => signatures,
    :src_code_href => src_code_href
  })
end