Class: TabsOnRails::Tabs::Builder

Inherits:
Object
  • Object
show all
Defined in:
lib/tabs_on_rails/tabs.rb

Overview

Builder

The Builder class represents the interface for any custom Builder.

To create a custom Builder extend this class and implement the following abstract methods:

  • tab_for(args)

Direct Known Subclasses

TabsBuilder

Instance Method Summary collapse

Constructor Details

#initialize(context) ⇒ Builder

Initializes a new builder with context.



34
35
36
# File 'lib/tabs_on_rails/tabs.rb', line 34

def initialize(context)
  @context = context
end

Instance Method Details

#close_tabsObject

Overwrite this method to use a custom close tag for your tabs.



70
71
# File 'lib/tabs_on_rails/tabs.rb', line 70

def close_tabs
end

#current_tab?(tab) ⇒ Boolean

Returns true if tab is the current_tab.

Examples

class MyController < ApplicationController
  tab :foo
end

current_tab? :foo   # => true
current_tab? 'foo'  # => true
current_tab? :bar   # => false
current_tab? 'bar'  # => false

Returns:

  • (Boolean)


51
52
53
# File 'lib/tabs_on_rails/tabs.rb', line 51

def current_tab?(tab)
  tab.to_s == @context.current_tab.to_s
end

#open_tabsObject

Overwrite this method to use a custom open tag for your tabs.



66
67
# File 'lib/tabs_on_rails/tabs.rb', line 66

def open_tabs
end

#tab_for(*args) ⇒ Object

Creates and returns a tab with given args.

Raises

NotImplemented

you should implement this method in your custom Builder.

Raises:

  • (NotImplementedError)


61
62
63
# File 'lib/tabs_on_rails/tabs.rb', line 61

def tab_for(*args)
  raise NotImplementedError
end