Module: BreadcrumbsHelper
- Defined in:
- app/helpers/breadcrumbs_helper.rb
Instance Method Summary collapse
- #add_to_breadcrumb_collapsed_links(link, location: :before) ⇒ Object
- #add_to_breadcrumbs(text, link) ⇒ Object
- #breadcrumb_title(title) ⇒ Object
- #breadcrumb_title_link ⇒ Object
- #breadcrumbs_as_json ⇒ Object
- #push_to_schema_breadcrumb(text, href, avatar = nil) ⇒ Object
- #schema_breadcrumb_json ⇒ Object
Instance Method Details
#add_to_breadcrumb_collapsed_links(link, location: :before) ⇒ Object
24 25 26 27 28 |
# File 'app/helpers/breadcrumbs_helper.rb', line 24 def (link, location: :before) @breadcrumb_collapsed_links ||= {} @breadcrumb_collapsed_links[location] ||= [] @breadcrumb_collapsed_links[location] << link end |
#add_to_breadcrumbs(text, link) ⇒ Object
4 5 6 7 8 9 10 |
# File 'app/helpers/breadcrumbs_helper.rb', line 4 def (text, link) @breadcrumbs_extra_links ||= [] @breadcrumbs_extra_links.push({ text: text, link: link }) end |
#breadcrumb_title(title) ⇒ Object
18 19 20 21 22 |
# File 'app/helpers/breadcrumbs_helper.rb', line 18 def (title) return if defined?(@breadcrumb_title) @breadcrumb_title = title end |
#breadcrumb_title_link ⇒ Object
12 13 14 15 16 |
# File 'app/helpers/breadcrumbs_helper.rb', line 12 def return @breadcrumb_link if @breadcrumb_link request.fullpath end |
#breadcrumbs_as_json ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'app/helpers/breadcrumbs_helper.rb', line 49 def .map do || { text: [:text], href: [:href], avatarPath: [:avatar] } end.to_json end |
#push_to_schema_breadcrumb(text, href, avatar = nil) ⇒ Object
30 31 32 |
# File 'app/helpers/breadcrumbs_helper.rb', line 30 def (text, href, avatar = nil) .push({ text: text, href: href, avatar: avatar }) end |
#schema_breadcrumb_json ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'app/helpers/breadcrumbs_helper.rb', line 34 def { '@context': 'https://schema.org', '@type': 'BreadcrumbList', itemListElement: build_item_list_elements&.map&.with_index do |item, index| { '@type' => 'ListItem', 'position' => index + 1, 'name' => item[:text], 'item' => ensure_absolute_url(item[:href]) } end }.to_json end |