Class: YARD::Templates::Section

Inherits:
Array
  • Object
show all
Defined in:
lib/yard/templates/section.rb

Overview

Abstracts the structure for a section and its subsections into an ordered list of sections and subsections.

Since:

  • 0.6.0

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, *args) ⇒ Section

Returns a new instance of Section.

Since:

  • 0.6.0



10
11
12
13
# File 'lib/yard/templates/section.rb', line 10

def initialize(name, *args)
  self.name = name
  replace(parse_sections(args))
end

Instance Attribute Details

#nameObject

Since:

  • 0.6.0



8
9
10
# File 'lib/yard/templates/section.rb', line 8

def name
  @name
end

Instance Method Details

#==(other) ⇒ Object

Since:

  • 0.6.0



36
37
38
39
40
41
42
43
44
45
# File 'lib/yard/templates/section.rb', line 36

def ==(other)
  case other
  when Section
    eql?(other)
  when Array
    to_a == other
  else
    name == other
  end
end

#[](*args) ⇒ Object

Since:

  • 0.6.0



21
22
23
24
25
26
27
28
29
30
# File 'lib/yard/templates/section.rb', line 21

def [](*args)
  if args.first.is_a?(Range) || args.size > 1
    obj = super(*args)
    obj.name = name
    return obj
  elsif args.first.is_a?(Integer)
    return super(*args)
  end
  find {|o| o.name == args.first }
end

#any(item) ⇒ Object

Since:

  • 0.6.0



76
77
78
79
80
81
82
# File 'lib/yard/templates/section.rb', line 76

def any(item)
  find do |section|
    return section if section == item
    return section.any(item) unless section.empty?
  end
  nil
end

#dupObject

Since:

  • 0.6.0



15
16
17
18
19
# File 'lib/yard/templates/section.rb', line 15

def dup
  obj = super
  obj.name = name
  obj
end

#eql?(other) ⇒ Boolean

Returns:

  • (Boolean)

Since:

  • 0.6.0



32
33
34
# File 'lib/yard/templates/section.rb', line 32

def eql?(other)
  super(other) && name == other.name
end

#inspectObject

Since:

  • 0.6.0



56
57
58
59
60
# File 'lib/yard/templates/section.rb', line 56

def inspect
  n = name.respond_to?(:path) ? "T('#{name.path}')" : name.inspect
  subsects = empty? ? "" : ", subsections=#{super}"
  "Section(#{n}#{subsects})"
end

#place(*args) ⇒ Object

Since:

  • 0.6.0



62
63
64
# File 'lib/yard/templates/section.rb', line 62

def place(*args)
  super(*parse_sections(args))
end

#push(*args) ⇒ Object Also known as: <<

Since:

  • 0.6.0



47
48
49
# File 'lib/yard/templates/section.rb', line 47

def push(*args)
  super(*parse_sections(args))
end

#to_aObject

Since:

  • 0.6.0



66
67
68
69
70
71
72
73
74
# File 'lib/yard/templates/section.rb', line 66

def to_a
  list = [name]
  unless empty?
    subsects = []
    each {|s| subsects += s.to_a }
    list << subsects
  end
  list
end

#unshift(*args) ⇒ Object

Since:

  • 0.6.0



52
53
54
# File 'lib/yard/templates/section.rb', line 52

def unshift(*args)
  super(*parse_sections(args))
end