class Aws::Api::Docs::Builder::Tabulator
def initialize
def initialize @tabs = [] @tab_contents = [] end
def tab(method_name, tab_name, &block)
def tab(method_name, tab_name, &block) tab_class = tab_name.downcase.gsub(/[^a-z]+/i, '-') tab_id = "#{method_name.to_s.gsub(/_/, '-')}-#{tab_class}" class_names = ['tab-contents', tab_class] @tabs << [tab_id, tab_name] @tab_contents << "<div class=\"#{class_names.join(' ')}\" id=\"#{tab_id}\">" @tab_contents << yield @tab_contents << '</div>' end
def to_html
def to_html lines = [] lines << '<div class="tab-box">' lines << '<ul class="tabs">' @tabs.each do |tab_id, tab_name| lines << "<li data-tab-id=\"#{tab_id}\">#{tab_name}</li>" end lines << '</ul>' lines.concat(@tab_contents) lines << '</div>' lines.join end