Class: YARD::CodeObjects::ExtraFileObject

Inherits:
Object
  • Object
show all
Defined in:
lib/yard/code_objects/extra_file_object.rb

Overview

An ExtraFileObject represents an extra documentation file (README or other file). It is not strictly a CodeObject (does not inherit from ‘Base`) although it implements `path`, `name` and `type`, and therefore should be structurally compatible with most CodeObject interfaces.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(filename, contents = nil) ⇒ ExtraFileObject

Creates a new extra file object.

Parameters:

  • filename (String)

    the location on disk of the file

  • contents (String) (defaults to: nil)

    the file contents. If not set, the contents will be read from disk using the filename.



17
18
19
20
21
22
23
24
25
# File 'lib/yard/code_objects/extra_file_object.rb', line 17

def initialize(filename, contents = nil)
  self.filename = filename
  self.name = File.basename(filename).gsub(/\.[^.]+$/, '')
  self.attributes = SymbolHash.new(false)
  @original_contents = contents
  @parsed = false
  @locale = nil
  ensure_parsed
end

Instance Attribute Details

#attributesObject



29
30
31
32
# File 'lib/yard/code_objects/extra_file_object.rb', line 29

def attributes
  ensure_parsed
  @attributes
end

#filenameObject

Returns the value of attribute filename.



7
8
9
# File 'lib/yard/code_objects/extra_file_object.rb', line 7

def filename
  @filename
end

#localeObject

Since:

  • 0.8.3



11
12
13
# File 'lib/yard/code_objects/extra_file_object.rb', line 11

def locale
  @locale
end

#nameObject Also known as: path

Returns the value of attribute name.



9
10
11
# File 'lib/yard/code_objects/extra_file_object.rb', line 9

def name
  @name
end

Instance Method Details

#==(other) ⇒ Object Also known as: eql?, equal?



63
64
65
66
# File 'lib/yard/code_objects/extra_file_object.rb', line 63

def ==(other)
  return false unless self.class === other
  other.filename == filename
end

#contentsObject



38
39
40
41
# File 'lib/yard/code_objects/extra_file_object.rb', line 38

def contents
  ensure_parsed
  @contents
end

#contents=(contents) ⇒ Object



43
44
45
46
# File 'lib/yard/code_objects/extra_file_object.rb', line 43

def contents=(contents)
  @original_contents = contents
  @parsed = false
end

#hashObject



69
# File 'lib/yard/code_objects/extra_file_object.rb', line 69

def hash; filename.hash end

#inspectObject Also known as: to_s



56
57
58
# File 'lib/yard/code_objects/extra_file_object.rb', line 56

def inspect
  "#<yardoc #{type} #{filename} attrs=#{attributes.inspect}>"
end

#titleObject



34
35
36
# File 'lib/yard/code_objects/extra_file_object.rb', line 34

def title
  attributes[:title] || name
end

#typeObject



61
# File 'lib/yard/code_objects/extra_file_object.rb', line 61

def type; :extra_file end