Class: Lita::Handler

Inherits:
Object
  • Object
show all
Defined in:
lib/lita/ext/handler.rb

Defined Under Namespace

Classes: ConfigOption

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.config(name, required: true, default: nil) ⇒ Object



43
44
45
# File 'lib/lita/ext/handler.rb', line 43

def config(name, required: true, default: nil)
  config_options << ConfigOption.new(name, required, default)
end

.config_optionsObject



47
48
49
# File 'lib/lita/ext/handler.rb', line 47

def config_options
  @config_options ||= []
end

.default_config(default) ⇒ Object



51
52
53
54
55
# File 'lib/lita/ext/handler.rb', line 51

def default_config(default)
  config_options.each do |config_option|
    default[config_option.name] = config_option.default
  end
end

.disabled?Boolean

Returns:

  • (Boolean)


57
58
59
# File 'lib/lita/ext/handler.rb', line 57

def disabled?
  Lita.config.disabled and Lita.config.disabled.include?(namespace.to_sym)
end

.handlersObject



39
40
41
# File 'lib/lita/ext/handler.rb', line 39

def handlers
  @handlers ||= []
end

.inherited(subclass) ⇒ Object



34
35
36
37
# File 'lib/lita/ext/handler.rb', line 34

def inherited(subclass)
  handlers << subclass
  super
end

Instance Method Details

#configObject



10
11
12
# File 'lib/lita/ext/handler.rb', line 10

def config
  Lita.config.handlers[self.class.namespace]
end

#config_valid?Boolean

Returns:

  • (Boolean)


14
15
16
17
18
19
20
21
22
23
# File 'lib/lita/ext/handler.rb', line 14

def config_valid?
  valid = true
  self.class.config_options.each do |config_option|
    if config_option.required? and config[config_option.name].nil?
      log.error "#{self.class.name.split('::').last}: missing #{config_option.name} setting"
      valid = false
    end
  end
  valid
end

#logObject



6
7
8
# File 'lib/lita/ext/handler.rb', line 6

def log
  Lita.logger
end