Class: Docs::Lua::EntriesFilter

Inherits:
EntriesFilter show all
Defined in:
lib/docs/filters/lua/entries.rb

Constant Summary

Constants inherited from Filter

Filter::SCHEME_RGX

Instance Method Summary collapse

Methods inherited from EntriesFilter

#build_entries, #build_entry, #call, #default_entry, #entries, #get_name, #get_type, #include_default_entry?, #name, #path, #type

Methods inherited from Filter

#absolute_url_string?, #at_css, #at_xpath, #base_url, #css, #current_url, #fragment_url_string?, #initial_page?, #parse_html, #relative_url_string?, #root_page?, #root_path, #root_url, #slug, #subpath, #subpath_to, #xpath

Instance Method Details

#additional_entriesObject


4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/docs/filters/lua/entries.rb', line 4

def additional_entries
  type = nil

  doc.children.each_with_object [] do |node, entries|
    if node.name == 'h1'
      type = node.content.strip
      type.remove! %r{.+\u{2013}\s+}
      type.remove! 'The '
      type = 'API' if type == 'Application Program Interface'
    end

    next if type && type.include?('Incompatibilities')
    next if node.name == 'h2' && type.in?(%w(API Auxiliary\ Library Standard\ Libraries))

    if node.name == 'h2' || node.name == 'h3'
      name = node.content
      name.remove! %r{.+\u{2013}\s+}
      name.remove! %r{\[.+\]}
      name.gsub! %r{\s+\(.*\)}, '()'
      entries << [name, node['id'], type]
    end
  end
end