Class: MenuMaker::MenuRenderer
- Inherits:
-
Object
- Object
- MenuMaker::MenuRenderer
- Defined in:
- lib/menu_maker/menu_renderer.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#current_path ⇒ Object
readonly
Returns the value of attribute current_path.
-
#helpers ⇒ Object
(also: #h)
readonly
Returns the value of attribute helpers.
-
#menu ⇒ Object
Returns the value of attribute menu.
Class Method Summary collapse
Instance Method Summary collapse
- #build_html ⇒ Object
- #build_menu ⇒ Object
- #call(menu) ⇒ Object
-
#initialize(helpers, path = nil) ⇒ MenuRenderer
constructor
A new instance of MenuRenderer.
Constructor Details
#initialize(helpers, path = nil) ⇒ MenuRenderer
Returns a new instance of MenuRenderer.
16 17 18 19 |
# File 'lib/menu_maker/menu_renderer.rb', line 16 def initialize(helpers, path = nil) @helpers = helpers @current_path = find_current_path(path) end |
Instance Attribute Details
#current_path ⇒ Object (readonly)
Returns the value of attribute current_path.
4 5 6 |
# File 'lib/menu_maker/menu_renderer.rb', line 4 def current_path @current_path end |
#helpers ⇒ Object (readonly) Also known as: h
Returns the value of attribute helpers.
4 5 6 |
# File 'lib/menu_maker/menu_renderer.rb', line 4 def helpers @helpers end |
#menu ⇒ Object
Returns the value of attribute menu.
3 4 5 |
# File 'lib/menu_maker/menu_renderer.rb', line 3 def end |
Class Method Details
.render(&block) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/menu_maker/menu_renderer.rb', line 8 def self.render(&block) define_method :render do build_html do instance_eval(&block) end end end |
Instance Method Details
#build_html ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/menu_maker/menu_renderer.rb', line 29 def build_html output = yield '' if output.respond_to? :html_safe output.html_safe else output end end |
#build_menu ⇒ Object
21 22 23 24 25 26 27 |
# File 'lib/menu_maker/menu_renderer.rb', line 21 def build_html do .items.inject('') do |out, item| out + yield(item, []) end end end |
#call(menu) ⇒ Object
39 40 41 42 |
# File 'lib/menu_maker/menu_renderer.rb', line 39 def call() self. = render end |