Class: Docs::Modernizr::EntriesFilter

Inherits:
EntriesFilter show all
Defined in:
lib/docs/filters/modernizr/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
27
28
29
30
31
32
33
# File 'lib/docs/filters/modernizr/entries.rb', line 4

def additional_entries
  entries = []

  css('h3[id]').each do |node|
    next unless name = node.content.strip[/\AModernizr\.\w+\(\)/]
    entries << [name, node['id'], 'Modernizr']
  end

  css('section[id]').each do |node|
    next unless heading = node.at_css('h3')
    next unless name = heading.content.strip[/\A(Modernizr\.)?\w+\(\)/]

    heading['id'] = node['id']
    node.remove_attribute('id')

    name.prepend('Modernizr.') unless name.start_with?('Modernizr')
    entries << [name, heading['id'], 'Modernizr']
  end

  css('h4[id^="features-"] + table').each do |table|
    type = table.previous_element.content.strip
    type << ' features' unless type.end_with?('features')

    table.css('tbody th[id]').each do |node|
      entries << [node.content, node['id'], type]
    end
  end

  entries
end