class Cinch::Configuration::Plugins

@since 2.0.0

Constants

KnownOptions

Public Class Methods

default_config() click to toggle source
# File lib/cinch/configuration/plugins.rb, line 11
def self.default_config
  {
    plugins: [],
    prefix: /^!/,
    suffix: nil,
    options: Hash.new { |h, k| h[k] = {} },
  }
end

Public Instance Methods

load(new_config, from_default = false) click to toggle source
Calls superclass method Cinch::Configuration#load
# File lib/cinch/configuration/plugins.rb, line 20
def load(new_config, from_default = false)
  _new_config = {}
  new_config.each do |option, value|
    case option
    when :plugins
      _new_config[option] = value.map { |v| Cinch::Utilities::Kernel.string_to_const(v) }
    when :options
      _value = self[:options]
      value.each do |k, v|
        k = Cinch::Utilities::Kernel.string_to_const(k)
        v = self[:options][k].merge(v)
        _value[k] = v
      end
      _new_config[option] = _value
    else
      _new_config[option] = value
    end
  end

  super(_new_config, from_default)
end