Module: Storytime::ActionControllerExtension

Defined in:
lib/storytime/concerns/action_controller_extension.rb

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



4
5
6
7
# File 'lib/storytime/concerns/action_controller_extension.rb', line 4

def self.included(base)
  base.extend(ClassMethods)
  base.helper_method :current_tab, :current_tab? if base.respond_to?(:helper_method)
end

Instance Method Details

#current_tab(namespace = nil) ⇒ Object



13
14
15
# File 'lib/storytime/concerns/action_controller_extension.rb', line 13

def current_tab(namespace = nil)
  tab_stack[namespace || :default]
end

#current_tab?(name, namespace = nil) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
# File 'lib/storytime/concerns/action_controller_extension.rb', line 17

def current_tab?(name, namespace = nil)
  current_tab(namespace).to_s == name.to_s
end

#set_tab(name, namespace = nil) ⇒ Object



9
10
11
# File 'lib/storytime/concerns/action_controller_extension.rb', line 9

def set_tab(name, namespace = nil)
  tab_stack[namespace || :default] = name
end

#tab_stackObject



21
22
23
# File 'lib/storytime/concerns/action_controller_extension.rb', line 21

def tab_stack
  @tab_stack ||= {}
end