Class: Spree::ThemeSupport::HookListener

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/spree_core/theme_support/hook_listener.rb

Overview

Listener class used for views hooks.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeHookListener

Returns a new instance of HookListener.



10
11
12
# File 'lib/spree_core/theme_support/hook_listener.rb', line 10

def initialize
  @hook_modifiers = []
end

Instance Attribute Details

#hook_modifiersObject

Returns the value of attribute hook_modifiers.



8
9
10
# File 'lib/spree_core/theme_support/hook_listener.rb', line 8

def hook_modifiers
  @hook_modifiers
end

Class Method Details

.insert_after(hook_name, options = {}, &block) ⇒ Object

Insert after existing contents of hook_name using supplied render args or string returned from block



30
31
32
# File 'lib/spree_core/theme_support/hook_listener.rb', line 30

def self.insert_after(hook_name, options = {}, &block)
  add_hook_modifier(hook_name, :insert_after, options, &block)
end

.insert_before(hook_name, options = {}, &block) ⇒ Object

Insert before existing contents of hook_name using supplied render args or string returned from block



25
26
27
# File 'lib/spree_core/theme_support/hook_listener.rb', line 25

def self.insert_before(hook_name, options = {}, &block)
  add_hook_modifier(hook_name, :insert_before, options, &block)
end

.remove(hook_name) ⇒ Object

Clear contents of hook_name



35
36
37
# File 'lib/spree_core/theme_support/hook_listener.rb', line 35

def self.remove(hook_name)
  add_hook_modifier(hook_name, :replace)
end

.replace(hook_name, options = {}, &block) ⇒ Object

Replace contents of hook_name using supplied render args or string returned from block



20
21
22
# File 'lib/spree_core/theme_support/hook_listener.rb', line 20

def self.replace(hook_name, options = {}, &block)
  add_hook_modifier(hook_name, :replace, options, &block)
end

Instance Method Details

#modifiers_for_hook(hook_name) ⇒ Object



14
15
16
# File 'lib/spree_core/theme_support/hook_listener.rb', line 14

def modifiers_for_hook(hook_name)
  hook_modifiers.select{|hm| hm.hook_name == hook_name}
end