40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
# File 'lib/bender/main.rb', line 40
def start
raw_config = JSON.parse File.read(options.config), symbolize_names: true
@config = DEFAULT_CONFIG.merge! raw_config
BenderBot.const_set :RESOLVED_TRANSITIONS, config[:resolved_transitions]
Bender.const_set :RESOLVED_TRANSITIONS, BenderBot::RESOLVED_TRANSITIONS
Helpers.const_set :RESOLVED_TRANSITIONS, BenderBot::RESOLVED_TRANSITIONS
BenderBot.const_set :RESOLVED_STATE, Regexp.new(config[:resolved_state])
Bender.const_set :RESOLVED_STATE, BenderBot::RESOLVED_STATE
Helpers.const_set :RESOLVED_STATE, BenderBot::RESOLVED_STATE
BenderBot.const_set :CLOSED_TRANSITIONS, config[:closed_transitions]
Bender.const_set :CLOSED_TRANSITIONS, BenderBot::CLOSED_TRANSITIONS
Helpers.const_set :CLOSED_TRANSITIONS, BenderBot::CLOSED_TRANSITIONS
BenderBot.const_set :CLOSED_STATE, Regexp.new(config[:closed_state])
Bender.const_set :CLOSED_STATE, BenderBot::CLOSED_STATE
Helpers.const_set :CLOSED_STATE, BenderBot::CLOSED_STATE
severities = config[:severities].inject({}) { |h,(k,v)| h[k.to_s.to_i] = v ; h }
BenderBot.const_set :SEVERITIES, severities
Bender.const_set :SEVERITIES, BenderBot::SEVERITIES
Helpers.const_set :SEVERITIES, BenderBot::SEVERITIES
show_fields = config[:show_fields].inject({}) { |h,(k,v)| h[k.to_s] = v ; h }
BenderBot.const_set :SHOW_FIELDS, show_fields
Bender.const_set :SHOW_FIELDS, BenderBot::SHOW_FIELDS
Helpers.const_set :SHOW_FIELDS, BenderBot::SHOW_FIELDS
BenderBot.const_set :SEVERITY_FIELD, config[:severity_field]
Bender.const_set :SEVERITY_FIELD, BenderBot::SEVERITY_FIELD
Helpers.const_set :SEVERITY_FIELD, BenderBot::SEVERITY_FIELD
BenderBot.set_commands config[:without_commands]
bot = start_bot
ts = []
ts << periodically_refresh_group(bot)
ts << periodically_refresh_users(bot)
ts << periodically_refresh_incidents(bot)
ts.map(&:join)
end
|