Class: TranslatableMenus::Connections

Inherits:
Object
  • Object
show all
Defined in:
lib/translatable_menus/connections.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConnections

Returns a new instance of Connections.



7
8
9
# File 'lib/translatable_menus/connections.rb', line 7

def initialize
  clear
end

Class Method Details

.instanceObject



2
3
4
5
# File 'lib/translatable_menus/connections.rb', line 2

def self.instance
  @instance ||= TranslatableMenus::Connections.new
  @instance
end

Instance Method Details

#call(event, controller, menu) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/translatable_menus/connections.rb', line 23

def call(event, controller, menu)
  return false unless @connects.key?(event)
  
  @connects[event].each do |connect_data|
    result = connect_data[:block].call(
      :controller => controller,
      :event => event,
      :menu => menu
    )
    
    return result unless result == true
  end
  
  return true
end

#clearObject



11
12
13
# File 'lib/translatable_menus/connections.rb', line 11

def clear
  @connects = {}
end

#connect(event, &blk) ⇒ Object



15
16
17
18
19
20
21
# File 'lib/translatable_menus/connections.rb', line 15

def connect(event, &blk)
  @connects[event] = [] unless @connects.key?(event)
  @connects[event] << {
    :event => event,
    :block => blk
  }
end