Module: Zabbirc

Defined in:
lib/zabbirc.rb,
lib/zabbirc/op.rb,
lib/zabbirc/logger.rb,
lib/zabbirc/op_list.rb,
lib/zabbirc/service.rb,
lib/zabbirc/setting.rb,
lib/zabbirc/version.rb,
lib/zabbirc/irc/help.rb,
lib/zabbirc/priority.rb,
lib/zabbirc/irc/plugin.rb,
lib/zabbirc/zabbix/host.rb,
lib/zabbirc/zabbix/user.rb,
lib/zabbirc/id_shortener.rb,
lib/zabbirc/services/ops.rb,
lib/zabbirc/zabbix/event.rb,
lib/zabbirc/configuration.rb,
lib/zabbirc/services/base.rb,
lib/zabbirc/palettes/clean.rb,
lib/zabbirc/zabbix/trigger.rb,
lib/zabbirc/services/events.rb,
lib/zabbirc/irc/base_command.rb,
lib/zabbirc/irc/help_command.rb,
lib/zabbirc/irc/host_command.rb,
lib/zabbirc/palettes/default.rb,
lib/zabbirc/irc/event_command.rb,
lib/zabbirc/zabbix/connection.rb,
lib/zabbirc/zabbix/host_group.rb,
lib/zabbirc/irc/plugin_methods.rb,
lib/zabbirc/zabbix/maintenance.rb,
lib/zabbirc/rich_text_formatter.rb,
lib/zabbirc/irc/settings_command.rb,
lib/zabbirc/zabbix/resource/base.rb,
lib/zabbirc/irc/maintenance_command.rb,
lib/zabbirc/zabbix/resource/finders.rb,
lib/zabbirc/zabbix/resource/associations.rb

Defined Under Namespace

Modules: Irc, Logger, Palettes, Services, Zabbix Classes: Configuration, IdShortener, Op, OpList, Priority, RichTextFormatter, Service, Setting

Constant Summary collapse

LIB_DATA_DIR =
Pathname.new("/usr/local/zabbirc")
STORED_SETTINGS_FILE =
Zabbirc::LIB_DATA_DIR.join("ops_settings.yaml")
VERSION =
"0.2.2"

Class Method Summary collapse

Class Method Details

.configObject



11
12
13
# File 'lib/zabbirc/configuration.rb', line 11

def self.config
  @config
end

.configure(&block) ⇒ Object



7
8
9
# File 'lib/zabbirc/configuration.rb', line 7

def self.configure(&block)
  block.call(@config ||= Zabbirc::Configuration.new)
end

.events_id_shortenerObject



22
23
24
# File 'lib/zabbirc.rb', line 22

def self.events_id_shortener
  @events_id_shortener ||= IdShortener.new
end

.loggerObject



2
3
4
5
6
# File 'lib/zabbirc/logger.rb', line 2

def self.logger
  @logger ||= ::Logger.new(STDERR, 10, 1.megabyte).tap do |logger|
    logger.formatter = Zabbirc::Logger::Formatter.new
  end
end

.maintenances_id_shortenerObject



26
27
28
# File 'lib/zabbirc.rb', line 26

def self.maintenances_id_shortener
  @maintenances_id_shortener ||= IdShortener.new
end

.rich_text_formatterObject



30
31
32
33
34
35
# File 'lib/zabbirc.rb', line 30

def self.rich_text_formatter
  @rich_text_formatter ||= begin
    palette = (config.colors ? Palettes::Default : Palettes::Clean)
    RichTextFormatter.new palette
  end
end

.synchronize(&block) ⇒ Object



17
18
19
20
# File 'lib/zabbirc.rb', line 17

def self.synchronize &block
  @mutex ||= Mutex.new
  @mutex.synchronize &block
end