Class: TabsOnRails::Tabs::Builder
- Inherits:
-
Object
- Object
- TabsOnRails::Tabs::Builder
- Defined in:
- lib/tabs_on_rails/tabs/builder.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
Optionally, you can override the following methods to customize the Builder behavior:
-
open_tabs -
close_tabs
Direct Known Subclasses
Instance Method Summary collapse
-
#close_tabs(*args) ⇒ Object
Override this method to use a custom close tag for your tabs.
-
#current_tab?(tab) ⇒ Boolean
Returns true if
tabis thecurrent_tab. -
#initialize(context, options = {}) ⇒ Builder
constructor
Initializes a new builder with the given hash of
options, providing the current Rails template ascontext. -
#open_tabs(*args) ⇒ Object
Override this method to use a custom open tag for your tabs.
-
#tab_for(*args) ⇒ Object
Creates and returns a tab with given
args.
Constructor Details
#initialize(context, options = {}) ⇒ Builder
Initializes a new builder with the given hash of options, providing the current Rails template as context.
Warning: You should not override this method to prevent incompatibility with future versions.
35 36 37 38 39 |
# File 'lib/tabs_on_rails/tabs/builder.rb', line 35 def initialize(context, = {}) @context = context @namespace = .delete(:namespace) || :default @options = end |
Instance Method Details
#close_tabs(*args) ⇒ Object
Override this method to use a custom close tag for your tabs.
71 72 |
# File 'lib/tabs_on_rails/tabs/builder.rb', line 71 def close_tabs(*args) 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
54 55 56 |
# File 'lib/tabs_on_rails/tabs/builder.rb', line 54 def current_tab?(tab) tab.to_s == @context.current_tab(@namespace).to_s end |
#open_tabs(*args) ⇒ Object
Override this method to use a custom open tag for your tabs.
67 68 |
# File 'lib/tabs_on_rails/tabs/builder.rb', line 67 def open_tabs(*args) end |
#tab_for(*args) ⇒ Object
Creates and returns a tab with given args.
Raises NotImplemented: you should implement this method in your custom Builder.
62 63 64 |
# File 'lib/tabs_on_rails/tabs/builder.rb', line 62 def tab_for(*args) raise NotImplementedError end |