Sha256: 8f58787839a524f445383655d326f7d342a353d392a28d8c0d15f695277ba750
Contents?: true
Size: 1.3 KB
Versions: 4
Compression:
Stored size: 1.3 KB
Contents
module Glman module Commands module Configs class NotifyIrcConfig class NotifyIrcConfigurationError < StandardError; end include InitRequired attr_required :config_manager DEFAULT = { nick: 'glman', channel: 'glman_notify', server: 'irc.freenode.net', port: 6697, ssl: true } def set(opts={}) raise NotifyIrcConfigurationError.new('incorrect data') unless opts.kind_of? Hash notify = config_manager.get[:notify] || {} irc = notify[:irc] || {} irc[:server] = opts[:server] || irc[:server] || DEFAULT[:server] irc[:nick] = opts[:nick] || irc[:nick] || DEFAULT[:nick] irc[:port] = (opts[:port] || irc[:port] || DEFAULT[:port]).to_i irc[:channel] = opts[:channel] || irc[:channel] || DEFAULT[:channel] irc[:ssl] = if opts[:ssl].nil? irc[:ssl].nil? ? true : irc[:ssl] else opts[:ssl].to_s == 'true' end notify[:irc] = irc config_manager.set(notify: notify) end def get (config_manager.get[:notify] || {})[:irc] || DEFAULT end def clear set(DEFAULT) end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems