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



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

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

Instance Attribute Details

#nameObject

Since:

  • 0.6.0



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

def name
  @name
end

Instance Method Details

#==(other) ⇒ Object

Since:

  • 0.6.0



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

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

#[](*args) ⇒ Object

Since:

  • 0.6.0



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

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



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

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



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

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

#eql?(other) ⇒ Boolean

Since:

  • 0.6.0



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

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

#inspectObject

Since:

  • 0.6.0



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

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



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

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

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

Since:

  • 0.6.0



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

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

#to_aObject

Since:

  • 0.6.0



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

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



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

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