Class: Docs::Svg::EntriesFilter

Inherits:
EntriesFilter show all
Defined in:
lib/docs/filters/svg/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, #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


32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/docs/filters/svg/entries.rb', line 32

def additional_entries
  return [] unless slug == 'Content_type'
  entries = []

  css('h2[id]').each do |node|
    dl = node.next_element
    next unless dl.name == 'dl'
    name = dl.at_css('dt').content.remove(/[<>]/)
    entries << [name, node['id']]
  end

  entries
end

#get_nameObject


4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/docs/filters/svg/entries.rb', line 4

def get_name
  name = super
  name.remove!('Element.').try(:downcase!)
  name.remove!('Attribute.').try(:downcase!)
  name.remove!('Tutorial.')
  name.gsub!('_', '')

  if name.in?(%w(Element Attribute Content\ type))
    "#{name}s"
  else
    name
  end
end

#get_typeObject


18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/docs/filters/svg/entries.rb', line 18

def get_type
  if slug.start_with?('Element')
    'Elements'
  elsif slug.start_with?('Attribute')
    'Attributes'
  elsif slug.start_with?('Tutorial')
    'Tutorial'
  elsif slug == 'Content_type'
    'Content types'
  else
    'Miscellaneous'
  end
end