module TbHelpers::Base
Constants
- ALIGNMENT_CLASSES
- BUTTON_SIZES
- EMPHASIS_CLASSES
- FORM_CLASSES
- INPUT_SIZES
- SPAN_SIZES
- TABLE_CLASSES
- TABLE_ROW_CLASSES
Public Instance Methods
tb_abbreviation(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 74 def tb_abbreviation(content = nil, options = nil, &block) content, options = content_or_options_with_block?(content, options, &block) tag = delete_option_if_exists!(options, :tag, :abbr) escape = delete_option_if_exists!(options, :escape, true) content_tag(tag, content, options, escape) end
Also aliased as: tb_abbr
tb_address(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 83 def tb_address(content = nil, options = nil, &block) content, options = content_or_options_with_block?(content, options, &block) tag = delete_option_if_exists!(options, :tag, :address) escape = delete_option_if_exists!(options, :escape, true) content_tag(tag, content, options, escape) end
tb_blockquote(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 91 def tb_blockquote(content = nil, options = nil, &block) content, options = content_or_options_with_block?(content, options, &block) tag = delete_option_if_exists!(options, :tag, :blockquote) escape = delete_option_if_exists!(options, :escape, true) content_tag(tag, content, options, escape) end
tb_bold(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 65 def tb_bold(content = nil, options = nil, &block) tb_emphasis(:bold, content, options, &block) end
tb_checkbox_label(options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 218 def tb_checkbox_label(options = nil, &block) options ||= {} # set_or_prepend_option!(options, :class, 'checkbox') tag = delete_option_if_exists!(options, :tag, :label) escape = delete_option_if_exists!(options, :escape, true) classes = ['checkbox'] inline = delete_option_if_exists!(options, :inline, false) classes << 'inline' if inline set_or_prepend_option!(options, :class, classes.join(' ')) content_tag(tag, options, nil, escape, &block) end
Also aliased as: tb_check_box_label
tb_code_block(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 111 def tb_code_block(content = nil, options = nil, &block) content, options = content_or_options_with_block?(content, options, &block) tag = delete_option_if_exists!(options, :tag, :pre) escape = delete_option_if_exists!(options, :escape, true) classes = [] scrollable = delete_option_if_exists!(options, :scrollable, true) classes << 'pre-scrollable' if scrollable set_or_prepend_option!(options, :class, classes.join(' ')) unless classes.empty? content_tag(tag, content, options, escape) end
tb_code_inline(content = nil, options = nil, &block)
click to toggle source
code
# File lib/tb-helpers/base.rb, line 103 def tb_code_inline(content = nil, options = nil, &block) content, options = content_or_options_with_block?(content, options, &block) tag = delete_option_if_exists!(options, :tag, :code) escape = delete_option_if_exists!(options, :escape, true) content_tag(tag, content, options, escape) end
tb_control_group(options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 183 def tb_control_group(options = nil, &block) options ||= {} tag = delete_option_if_exists!(options, :tag, :div) escape = delete_option_if_exists!(options, :escape, true) classes = ['control-group'] context = delete_option_if_exists!(options, :context, nil) classes << context.to_s if context set_or_prepend_option!(options, :class, classes.join(' ')) content_tag(tag, options, nil, escape, &block) end
tb_control_label(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 209 def tb_control_label(content = nil, options = nil, &block) content, options = content_or_options_with_block?(content, options, &block) options = set_or_prepend_option!(options, :class, 'control-label') tag = delete_option_if_exists!(options, :tag, :label) escape = delete_option_if_exists!(options, :escape, true) content_tag(tag, content, options, escape) end
tb_controls(options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 196 def tb_controls(options = nil, &block) options ||= {} # set_or_prepend_option!(options, :class, 'controls') tag = delete_option_if_exists!(options, :tag, :div) escape = delete_option_if_exists!(options, :escape, true) classes = ['controls'] row = delete_option_if_exists!(options, :row, false) classes << 'controls-row' if row set_or_prepend_option!(options, :class, classes.join(' ')) content_tag(tag, options, nil, escape, &block) end
tb_emphasis(style, content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 40 def tb_emphasis(style, content = nil, options = nil, &block) content, options = content_or_options_with_block?(content, options, &block) tag = case style when :small then :small when :bold then :strong when :italics then :em when nil then delete_option_if_exists!(options, :tag, :span) else raise ArgumentError.new('invalid style value') end escape = delete_option_if_exists!(options, :escape, true) classes = [] EMPHASIS_CLASSES.each do |class_sym, class_name| class_val = delete_option_if_exists!(options, class_sym, false) classes << class_name if class_val end set_or_prepend_option!(options, :class, classes.join(' ')) content_tag(tag, content, options, escape) end
tb_fieldset(options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 171 def tb_fieldset(options = nil, &block) options ||= {} tag = delete_option_if_exists!(options, :tag, :fieldset) escape = delete_option_if_exists!(options, :escape, true) legend = delete_option_if_exists!(options, :legend, nil) content_tag(tag, options, nil, escape) do concat content_tag(:legend, legend, {}, true) if legend concat capture(&block) end end
tb_form_actions(options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 296 def tb_form_actions(options = nil, &block) options = set_or_prepend_option!(options, :class, 'form-actions') tag = delete_option_if_exists!(options, :tag, :div) escape = delete_option_if_exists!(options, :escape, true) content_tag(tag, options, nil, escape, &block) end
tb_form_for(*args)
click to toggle source
forms
# File lib/tb-helpers/base.rb, line 167 def tb_form_for(*args) raise NotImplementedError.new end
tb_icon_black(name, options = nil)
click to toggle source
icons by glyphicons
# File lib/tb-helpers/base.rb, line 384 def tb_icon_black(name, options = nil) icon_name = name.to_s.starts_with?('icon-') ? name.to_s : "icon-#{name}" options = set_or_prepend_option!(options, :class, icon_name) tag = delete_option_if_exists!(options, :tag, :i) escape = delete_option_if_exists!(options, :escape, true) content_tag(tag, nil, options, escape) end
Also aliased as: tb_icon
tb_icon_white(name, options = nil)
click to toggle source
# File lib/tb-helpers/base.rb, line 394 def tb_icon_white(name, options = nil) icon_name = name.to_s.starts_with?('icon-') ? "#{name} icon-white" : "icon-#{name} icon-white" options = set_or_prepend_option!(options, :class, icon_name) tag = delete_option_if_exists!(options, :tag, :i) escape = delete_option_if_exists!(options, :escape, true) content_tag(tag, nil, options, escape) end
tb_input_addon(style, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 245 def tb_input_addon(style, options = nil, &block) options = case style when :prepend then set_or_prepend_option!(options, :class, 'input-prepend') when :append then set_or_prepend_option!(options, :class, 'input-append') when :combined then set_or_prepend_option!(options, :class, 'input-prepend input-append') else raise ArgumentError.new('invalid style value') end tag = delete_option_if_exists!(options, :tag, :div) escape = delete_option_if_exists!(options, :escape, true) addon = delete_option_if_exists!(options, :addon, nil) content_tag(tag, options, nil, escape) do if style == :prepend || style == :combined prepend = addon.is_a?(Array) ? addon[0] : addon concat content_tag(:span, prepend, {:class => 'add-on'}, true) if prepend end concat capture(&block) if style == :append || style == :combined append = addon.is_a?(Array) ? addon[1] : addon concat content_tag(:span, append, {:class => 'add-on'}, true) if append end end end
tb_input_addon_append(options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 273 def tb_input_addon_append(options = nil, &block) tb_input_addon(:append, options, &block) end
tb_input_addon_pre_and_append(options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 277 def tb_input_addon_pre_and_append(options = nil, &block) tb_input_addon(:combined, options, &block) end
Also aliased as: tb_input_addon_combined
tb_input_addon_prepend(options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 269 def tb_input_addon_prepend(options = nil, &block) tb_input_addon(:prepend, options, &block) end
tb_input_help(style, content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 304 def tb_input_help(style, content = nil, options = nil, &block) content, options = content_or_options_with_block?(content, options, &block) tag = delete_option_if_exists!(options, :tag, :span) escape = delete_option_if_exists!(options, :escape, true) classes = [] classes << case style when :inline then 'help-inline' when :block then 'help-block' else raise ArgumentError.new('invalid style value') end set_or_prepend_option!(options, :class, classes.join(' ')) content_tag(tag, content, options, escape) end
tb_input_help_block(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 324 def tb_input_help_block(content = nil, options = nil, &block) tb_input_help(:block, content, options, &block) end
tb_input_help_inline(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 320 def tb_input_help_inline(content = nil, options = nil, &block) tb_input_help(:inline, content, options, &block) end
tb_input_uneditable(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 282 def tb_input_uneditable(content = nil, options = nil, &block) content, options = content_or_options_with_block?(content, options, &block) tag = delete_option_if_exists!(options, :tag, :span) escape = delete_option_if_exists!(options, :escape, true) classes = [] size = delete_option_if_exists!(options, :size, nil) classes << "input-#{size}" if size classes << 'uneditable-input' set_or_prepend_option!(options, :class, classes.join(' ')) content_tag(tag, content, options, escape) end
tb_italics(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 69 def tb_italics(content = nil, options = nil, &block) tb_emphasis(:italics, content, options, &block) end
Also aliased as: tb_italic
tb_javascript_include_tag(version=nil)
click to toggle source
essentials
# File lib/tb-helpers/base.rb, line 15 def tb_javascript_include_tag(version=nil) version ||= '2.3.1' javascript_include_tag "//netdna.bootstrapcdn.com/twitter-bootstrap/#{version}/js/bootstrap.min.js" end
tb_lead(content = nil, options = nil, &block)
click to toggle source
typography
# File lib/tb-helpers/base.rb, line 29 def tb_lead(content = nil, options = nil, &block) content, options = content_or_options_with_block?(content, options, &block) tag = delete_option_if_exists!(options, :tag, :p) escape = delete_option_if_exists!(options, :escape, true) classes = ['lead'] set_or_prepend_option!(options, :class, classes.join(' ')) content_tag(tag, content, options, escape) end
tb_radio_label(options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 232 def tb_radio_label(options = nil, &block) options ||= {} # set_or_prepend_option!(options, :class, 'radio') tag = delete_option_if_exists!(options, :tag, :label) escape = delete_option_if_exists!(options, :escape, true) classes = ['radio'] inline = delete_option_if_exists!(options, :inline, false) classes << 'inline' if inline set_or_prepend_option!(options, :class, classes.join(' ')) content_tag(tag, options, nil, escape, &block) end
tb_small(content = nil, options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 61 def tb_small(content = nil, options = nil, &block) tb_emphasis(:small, content, options, &block) end
tb_stylesheet_link_tag(version=nil)
click to toggle source
# File lib/tb-helpers/base.rb, line 20 def tb_stylesheet_link_tag(version=nil) version ||= '2.3.1' stylesheet_link_tag "//netdna.bootstrapcdn.com/twitter-bootstrap/#{version}/css/bootstrap-combined.min.css" end
tb_table(options = nil, &block)
click to toggle source
tables
# File lib/tb-helpers/base.rb, line 128 def tb_table(options = nil, &block) options ||= {} tag = delete_option_if_exists!(options, :tag, :table) escape = delete_option_if_exists!(options, :escape, true) caption = delete_option_if_exists!(options, :caption, nil) classes = ['table'] TABLE_CLASSES.each do |class_sym, class_name| class_val = delete_option_if_exists!(options, class_sym, false) classes << class_name if class_val end set_or_prepend_option!(options, :class, classes.join(' ')) content_tag(tag, options, nil, escape) do concat content_tag(:caption, caption, {}, true) if caption concat capture(&block) end end
tb_table_row(options = nil, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 147 def tb_table_row(options = nil, &block) options ||= {} tag = delete_option_if_exists!(options, :tag, :tr) escape = delete_option_if_exists!(options, :escape, true) # FIXME this should be done with context option classes = [] TABLE_ROW_CLASSES.each do |class_sym, class_name| class_val = delete_option_if_exists!(options, class_sym, false) classes << class_name if class_val end set_or_prepend_option!(options, :class, classes.join(' ')) content_tag(tag, options, nil, escape, &block) end
Protected Instance Methods
content_or_options_with_block?(content_or_options_with_block, options, &block)
click to toggle source
# File lib/tb-helpers/base.rb, line 423 def content_or_options_with_block?(content_or_options_with_block, options, &block) if content_or_options_with_block.is_a?(Hash) content = capture(&block) options = content_or_options_with_block else content = content_or_options_with_block options ||= {} end return content, options end
delete_option_if_exists!(options, key, fallback=nil)
click to toggle source
protected helper methods
# File lib/tb-helpers/base.rb, line 409 def delete_option_if_exists!(options, key, fallback=nil) options.has_key?(key) ? options.delete(key) : fallback end
set_or_prepend_option!(options, key, value)
click to toggle source
# File lib/tb-helpers/base.rb, line 413 def set_or_prepend_option!(options, key, value) options ||= {} unless options.has_key?(:class) options[:class] = value else options[:class] = "#{value} #{options[:class]}" end options end