Sha256: 5bc89faa4211111d2ebe7e68baf98897b2bc3d0b938c91f5b7bed34b4df79d89
Contents?: true
Size: 1.27 KB
Versions: 5
Compression:
Stored size: 1.27 KB
Contents
module Aureus module Components class Box < Renderable def initialize title, options, &block init options, for: :text, centered: false init_haml_helpers @title = title @buttons = Array.new @content = capture_haml self, &block end def content &block @new_content = capture_haml &block end def foot &block @foot = capture_haml &block end def button content @buttons << BoxButton.new(content) end def render title = content_tag('h3',compact(content_tag('span', @title),compact_render(*@buttons))) classes = ['box'] classes << 'centered' if @options[:centered] @content = @new_content if !@new_content.nil? content_tag 'div', class: classes.join(' ') do case @options[:for] when :form @content = content_tag('ul', @content, class: 'content') end footer = @foot.nil? ? '' : content_tag('div', @foot, class: 'foot') compact title, content_tag('div', @content), footer end end end class BoxButton < Renderable def initialize content @content = content end def render @content end end end end
Version data entries
5 entries across 5 versions & 1 rubygems