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
88
89
90
91
92
93
94
95
96
97
98
99
# 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, %w[ 51 ]
  Bender.const_set :RESOLVED_TRANSITIONS, BenderBot::RESOLVED_TRANSITIONS
  Helpers.const_set :RESOLVED_TRANSITIONS, BenderBot::RESOLVED_TRANSITIONS

  BenderBot.const_set :RESOLVED_STATE, /resolve/i
  Bender.const_set :RESOLVED_STATE, BenderBot::RESOLVED_STATE
  Helpers.const_set :RESOLVED_STATE, BenderBot::RESOLVED_STATE

  BenderBot.const_set :CLOSED_TRANSITIONS, %w[ 61 71 ]
  Bender.const_set :CLOSED_TRANSITIONS, BenderBot::CLOSED_TRANSITIONS
  Helpers.const_set :CLOSED_TRANSITIONS, BenderBot::CLOSED_TRANSITIONS

  BenderBot.const_set :CLOSED_STATE, /close/i
  Bender.const_set :CLOSED_STATE, BenderBot::CLOSED_STATE
  Helpers.const_set :CLOSED_STATE, BenderBot::CLOSED_STATE

  BenderBot.const_set :SEVERITIES, {
    1 => '10480',
    2 => '10481',
    3 => '10482',
    4 => '10483',
    5 => '10484'
  }
  Bender.const_set :SEVERITIES, BenderBot::SEVERITIES
  Helpers.const_set :SEVERITIES, BenderBot::SEVERITIES

  BenderBot.const_set :SHOW_FIELDS, {
    'summary' => 'Summary',
    'description' => 'Description',
    'customfield_11250' => 'Severity',
    'customfield_11251' => 'Impact Started',
    'customfield_11252' => 'Impact Ended',
    'customfield_11253' => 'Reported By',
    'customfield_11254' => 'Services Affected',
    'customfield_11255' => 'Cause',
    'status' => 'Status',
    'created' => 'Created',
    'updated' => 'Updated'
  }
  Bender.const_set :SHOW_FIELDS, BenderBot::SHOW_FIELDS
  Helpers.const_set :SHOW_FIELDS, BenderBot::SHOW_FIELDS

  BenderBot.const_set :SEVERITY_FIELD, SHOW_FIELDS.key('Severity')
  Bender.const_set :SEVERITY_FIELD, BenderBot::SEVERITY_FIELD
  Helpers.const_set :SEVERITY_FIELD, BenderBot::SEVERITY_FIELD

  BenderBot.set_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