class SchleuderGitlabTicketing::Config
Public Class Methods
new(config_path='/etc/schleuder/gitlab.yml')
click to toggle source
# File lib/schleuder-gitlab-ticketing/config.rb, line 5 def initialize(config_path='/etc/schleuder/gitlab.yml') @config = if File.exists?(config_path) YAML.load_file(config_path) else {} end end
Public Instance Methods
lists()
click to toggle source
# File lib/schleuder-gitlab-ticketing/config.rb, line 29 def lists @lists ||= read_lists end
process_list(list_name, mail)
click to toggle source
returns true if mail was handled returns 'config-error' if list-config is not properly returns nil if list is not configured to handle gitlab plugin
# File lib/schleuder-gitlab-ticketing/config.rb, line 17 def process_list(list_name, mail) if l = lists[list_name] if l.configured? l.process(mail) else 'config-error' end else nil end end
Private Instance Methods
read_lists()
click to toggle source
# File lib/schleuder-gitlab-ticketing/config.rb, line 34 def read_lists Hash(@config['lists']).inject({}) do |res,a| n,v = a v['gitlab'] ||= gitlab v['subject_filters'] = Array(v['subject_filters']) + Array(@config['subject_filters']) v['sender_filters'] = Array(v['sender_filters']) + Array(@config['sender_filters']) res[n] = SchleuderGitlabTicketing::List.new(n,v) res end end