Sha256: 663c897d36b7959a00a52c9d2048072979f8cffa653da78328a5f8fbb73bb60b

Contents?: true

Size: 917 Bytes

Versions: 105

Compression:

Stored size: 917 Bytes

Contents

module RbbtRESTHelpers
  class Tabs
    attr_accessor :headers, :codes, :content, :classes, :tab_classes
    def initialize(page)
      @page = page
    end

    def add(header = nil, code = nil, &block)
      
      @headers ||= []
      @codes ||= {}
      @content ||= {}

      if block_given? 
        html = @page.capture_haml &block
      else
        html = nil
      end

      @headers << header
      @codes[header] = code.to_s if code
      @content[header] = html
    end

    def active(header=nil)
      @active ||= header.nil? ? false : header 
    end
  end
  
  def tabs(&block)
    tab = Tabs.new(self)
    block.call(tab)

    tab.headers.each do |header|
      code = tab.codes[header] || Misc.digest(header)
      content = tab.content[header]
    end

    partial_render('partials/tabs', :headers => tab.headers, :codes => tab.codes, :content => tab.content, :active => tab.active)
  end

end

Version data entries

105 entries across 105 versions & 1 rubygems

Version Path
rbbt-rest-1.8.157 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.156 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.155 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.154 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.152 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.151 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.150 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.148 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.147 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.146 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.145 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.144 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.143 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.142 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.140 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.139 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.138 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.137 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.136 lib/rbbt/rest/common/tabs.rb
rbbt-rest-1.8.135 lib/rbbt/rest/common/tabs.rb