class TwitterBootstrap::TabsGenerator
Attributes
active_pane[RW]
unloadable include ::ActionView::Helpers::UrlHelper include ::ActionView::Helpers::TagHelper
context[RW]
unloadable include ::ActionView::Helpers::UrlHelper include ::ActionView::Helpers::TagHelper
options[RW]
unloadable include ::ActionView::Helpers::UrlHelper include ::ActionView::Helpers::TagHelper
panes[RW]
unloadable include ::ActionView::Helpers::UrlHelper include ::ActionView::Helpers::TagHelper
Public Class Methods
new(_context, opts={})
click to toggle source
# File lib/twitter_bootstrap_helpers/tabs_generator.rb, line 8 def initialize _context, opts={} self.context = _context self.panes = {} self.options = opts end
Public Instance Methods
active_pane=(pane)
click to toggle source
# File lib/twitter_bootstrap_helpers/tabs_generator.rb, line 18 def active_pane= pane options[:active] = pane end
generate(block)
click to toggle source
# File lib/twitter_bootstrap_helpers/tabs_generator.rb, line 22 def generate block buffer = context.content_tag :ul, :class=>'nav nav-tabs' do block.call(self) end buffer << generate_tab_content buffer #buffer = '' #if options[:position] == :belowe #raise 'not ready' #buffer << context.content_tag( :div, #(generate_tab_content + generate_tab_navs).html_safe, #:class => 'tabbable tabs-below') #else #context.content_tag :ul, :class=>'nav nav-tabs' do #buffer << block.call(self) #end #buffer << generate_tab_content #end #buffer.html_safe end
pane(id, title=nil, content_or_options=nil, options={})
click to toggle source
# File lib/twitter_bootstrap_helpers/tabs_generator.rb, line 45 def pane id, title=nil, content_or_options=nil, options={}, &content_block pane = {} if block_given? pane[:content] = content_block options = content_or_options || {} else pane[:content] = content_or_options end pane[:link] = options[:link] if options.has_key?(:link) pane[:tooltip] = options[:tooltip] pane[:class] = ['tab-pane', options[:pane_class]].compact pane[:title] = title ||= id pane[:data] = options[:data] if active_pane == id or options[:active] self.active_pane = id pane[:class] << :active pane[:nav_class] ||= [] pane[:nav_class] << :active end self.panes[id] = pane generate_nav_tab id, pane end
Private Instance Methods
generate_pane_content(id, pane)
click to toggle source
# File lib/twitter_bootstrap_helpers/tabs_generator.rb, line 113 def generate_pane_content id, pane if pane[:content].is_a? Proc context.content_tag( :div, :class=>pane[:class], :id=>id, &pane[:content] ).html_safe else context.content_tag( :div, pane[:content], :class=>pane[:class], :id=>id ).html_safe end end
generate_tab_content()
click to toggle source
# File lib/twitter_bootstrap_helpers/tabs_generator.rb, line 103 def generate_tab_content context.content_tag :div, :class=>'tab-content' do buffer = '' self.panes.each_pair do |id, pane| buffer << generate_pane_content(id, pane) end buffer.html_safe end end