Class: Crumby::Renderer::Haml

Inherits:
Base
  • Object
show all
Defined in:
lib/crumby/renderer/haml.rb

Overview

haml renderer

Instance Attribute Summary

Attributes inherited from Base

#options, #trail, #view

Instance Method Summary collapse

Methods inherited from Base

#initialize, #render

Constructor Details

This class inherits a constructor from Crumby::Renderer::Base

Instance Method Details

#default_optionsHash

Returns default options for this renderer.

Returns:

  • (Hash)

    default options for this renderer



7
8
9
10
11
12
13
# File 'lib/crumby/renderer/haml.rb', line 7

def default_options
  {
    divider: "/",
    link_last: false,
    link_first: true
  }
end

#render_entry(entry) ⇒ Object

render entry

Parameters:



27
28
29
30
31
32
33
34
35
36
# File 'lib/crumby/renderer/haml.rb', line 27

def render_entry(entry)
  view.haml_tag :li, class: (entry.last? ? 'active' : nil) do
    if entry.route.nil? or (entry.last? and not options[:link_last]) or (entry.first? and not options[:link_first])
      view.haml_tag :span, entry.label
    else
      view.haml_concat view.link_to(entry.label, entry.route)
    end
    view.haml_tag "span.divider", options[:divider] if not entry.last? and not options[:divider].is_a?(FalseClass)
  end
end

#render_list(&block) ⇒ Object

render list by block the block call render_entry for each entry



17
18
19
20
21
22
23
# File 'lib/crumby/renderer/haml.rb', line 17

def render_list(&block)
  view.capture_haml do
    view.haml_tag :ul, class: "breadcrumb" do
      yield
    end
  end
end