Class: Docs::Yii::EntriesFilter

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


24
25
26
27
28
29
30
# File 'lib/docs/filters/yii/entries.rb', line 24

def additional_entries
  css('.detail-header').each_with_object [] do |node, entries|
    name = node.child.content.strip
    name.prepend "#{self.name} "
    entries << [name, node['id']]
  end
end

#get_nameObject


4
5
6
7
8
9
# File 'lib/docs/filters/yii/entries.rb', line 4

def get_name
  name = at_css('h1').content.strip
  name.remove! %r{\A.*?(Class|Trait|Interface)\s*}
  name.remove!('yii\\')
  name
end

#get_typeObject


11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/docs/filters/yii/entries.rb', line 11

def get_type
  if slug.include?('guide')
    'Guides'
  else
    components = name.split('\\')
    type = components.first
    type << "\\#{components.second}" if (type == 'db' && components.second.in?(%w(cubrid mssql mysql oci pgsql sqlite))) ||
                                        (type == 'web' && components.second.in?(%w(Request Response)))
    type = 'yii' if type == 'BaseYii' || type == 'Yii'
    type
  end
end