Class: Notify::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/notify/registry.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(templates_path) ⇒ Registry

Returns a new instance of Registry.



10
11
12
13
14
# File 'lib/notify/registry.rb', line 10

def initialize(templates_path)
  @templates_path = Pathname(templates_path)
  @message_adapters = {}
  scan! if @templates_path.directory?
end

Instance Attribute Details

#templates_pathObject (readonly)

Returns the value of attribute templates_path.



8
9
10
# File 'lib/notify/registry.rb', line 8

def templates_path
  @templates_path
end

Instance Method Details

#adaptersObject



20
21
22
# File 'lib/notify/registry.rb', line 20

def adapters
  @adapters_view ||= build_adapters_view
end

#adapters_for(message_name) ⇒ Object



28
29
30
31
32
33
# File 'lib/notify/registry.rb', line 28

def adapters_for(message_name)
  set = @message_adapters[message_name.to_sym]
  return [].freeze unless set

  set.to_a.sort.freeze
end

#freeze!Object



35
36
37
38
39
40
41
# File 'lib/notify/registry.rb', line 35

def freeze!
  @message_adapters.each_value(&:freeze)
  @message_adapters.freeze
  messages
  adapters
  self
end

#frozen?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/notify/registry.rb', line 43

def frozen?
  @message_adapters.frozen?
end

#message?(name) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/notify/registry.rb', line 24

def message?(name)
  @message_adapters.key?(name.to_sym)
end

#messagesObject



16
17
18
# File 'lib/notify/registry.rb', line 16

def messages
  @messages ||= build_messages_view
end