Class: Harbinger::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/harbinger/configuration.rb

Instance Method Summary collapse

Instance Method Details

#database_storageObject



29
30
31
# File 'lib/harbinger/configuration.rb', line 29

def database_storage
  @database_storage || default_database_storage
end

#database_storage=(object) ⇒ Object

Raises:



33
34
35
36
# File 'lib/harbinger/configuration.rb', line 33

def database_storage=(object)
  raise ConfigurationError.new("Expected Harbinger.database_storage to respond_to #store_message. #{object.inspect} does not respond to #add") unless object.respond_to?(:store_message)
  @database_storage = object
end

#default_channelsObject



5
6
7
# File 'lib/harbinger/configuration.rb', line 5

def default_channels
  @default_channels || __default_channels
end

#default_channels=(*channel_names) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/harbinger/configuration.rb', line 9

def default_channels=(*channel_names)
  @default_channels = Array(channel_names).flatten.compact.collect{|name|
    word = name.to_s
    word.gsub!(/([A-Z\d]+)([A-Z][a-z])/,'\1_\2')
    word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
    word.tr!("-", "_")
    word.downcase!
    word.to_sym
  }
end

#loggerObject



20
21
22
# File 'lib/harbinger/configuration.rb', line 20

def logger
  @logger || default_logger
end

#logger=(object) ⇒ Object

Raises:



24
25
26
27
# File 'lib/harbinger/configuration.rb', line 24

def logger=(object)
  raise ConfigurationError.new("Expected Harbinger.database_storage to respond_to #add. #{object.inspect} does not respond to #add") unless object.respond_to?(:add)
  @logger = object
end