Class: Bender::Main

Inherits:
Mjolnir show all
Includes:
Helpers
Defined in:
lib/bender/main.rb

Constant Summary

Constants included from Helpers

Helpers::DEFAULT_CONFIG, Helpers::QUOTES

Constants inherited from Mjolnir

Mjolnir::COMMON_OPTIONS

Instance Method Summary collapse

Methods included from Helpers

#friendly_date, #incident_link, #incident_url, #normalize_date, #normalize_value, #one_day, #recent_incident?, #refresh_incidents, #select_incident, #short_severity

Methods inherited from Mjolnir

include_common_options

Instance Method Details

#artObject



27
28
29
# File 'lib/bender/main.rb', line 27

def art
  puts "\n%s\n" % ART
end

#startObject



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

  # Integerify keys
  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

  # Stringify keys
  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

#versionObject



21
22
23
# File 'lib/bender/main.rb', line 21

def version
  puts VERSION
end