lita-interrupt 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b15811f72a7f29073b61d5f8bcdcd7cea23e7ed6
4
- data.tar.gz: d67e7c6d51bf17ebd58946b48e94e8c02ab21d34
2
+ SHA256:
3
+ metadata.gz: 6157092dbeea983eb6047ba07c4a44003d0415a1708219d9b9dfeb5ffbfe33f8
4
+ data.tar.gz: 47e2c176cde96f98dc4c877d3ee764e9490cc51d43f3d262f6f88bf659c58ddd
5
5
  SHA512:
6
- metadata.gz: fb320ff975a01d83543a859c2c906c470f6b8f8f577e3896213b948ab5e04b714b09f8aefa3d654790da6f87dc72bff3b14c95e12e836f869bea9f94b28c2910
7
- data.tar.gz: b265df0952d50b4423fb09eeec78de07b6c3c2f834440ee9f0b37bfb9d920fd646a7ac77cab6bd29548a9b839e05165e6796534ddbf8186cc90d0205d1d2ff66
6
+ metadata.gz: 054e3b688d95c0c9fe5bb8e20f98dab2e8ef65e4e707a476cd74fb9007dc060f16495c1e9e8dd56cbd0fae07786a970ba999643d5be21bcaeff809a6f10135b5
7
+ data.tar.gz: 00dc36537fb4ea1c76814fc8613d0649ec27c6da80486c790b0e66bdbe91fc8a17298d076a35124f7c7afc1c491f5ee183f1ffb68afc2cde9d34c2267d840249
@@ -1,6 +1,6 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.0.0
3
+ - 2.3.0
4
4
  script: bundle exec rake
5
5
  before_install:
6
6
  - gem update --system
@@ -5,6 +5,8 @@ require 'pager_duty/connection'
5
5
  module InterruptHelper
6
6
  module PagerDuty
7
7
  def pagerduty(token)
8
+ token = token.to_s
9
+ return nil if token.empty?
8
10
  @pagerduty_clients ||= Hash.new { |h, k|
9
11
  h[k] = ::PagerDuty::Connection.new(k)
10
12
  }
@@ -162,21 +162,27 @@ module Lita
162
162
 
163
163
  # @param [Lita::Response] response
164
164
  def list_services(response)
165
- team_id = response.match_data['team_id']
166
- unless team_id.nil? || team_id.empty?
167
- response.reply(list_team_services(team_id, response).join("\n"))
168
- return
169
- end
165
+ query = response.match_data['query'].to_s.strip
166
+ team_id = response.match_data['team_id'].to_s
167
+ team_ids = case team_id
168
+ when "" then config.pagerduty_teams.keys.sort
169
+ else [team_id]
170
+ end
170
171
 
171
172
  response.reply(
172
- config.pagerduty_teams.keys.sort.flat_map do |team_id|
173
- [
174
- t('service_ls.team', team_id: team_id),
175
- *list_team_services(team_id, response)
176
- ]
173
+ team_ids.flat_map do |team_id; services|
174
+ services = list_team_services(team_id, query)
175
+ header = t('service_ls.team', team_id: team_id)
176
+ case services
177
+ when nil
178
+ break [t('service_ls.no_team', team_id: team_id)]
179
+ when []
180
+ [header, t('service_ls.no_services')]
181
+ else
182
+ [header, *services]
183
+ end
177
184
  end.join("\n")
178
185
  )
179
-
180
186
  rescue APIError => ae
181
187
  log_exception(__callee__, ex)
182
188
  response.reply(t('call.api_error', id: alias_id, message: ae.message))
@@ -184,16 +190,12 @@ module Lita
184
190
  send_exception(response, __callee__, ex)
185
191
  end
186
192
 
187
- def list_team_services(team_id, response)
193
+ def list_team_services(team_id, query)
188
194
  pd = team(team_id)
189
- if pd.nil?
190
- response.reply(t('service_ls.no_team', team_id: team_id))
191
- return
192
- end
195
+ return nil if pd.nil?
193
196
 
194
- query = (response.match_data['query'] || '').strip
195
197
  params = {
196
- query: query || '',
198
+ query: query,
197
199
  include: %w[integrations]
198
200
  }
199
201
 
@@ -203,7 +205,6 @@ module Lita
203
205
  services = (results['services'] || []).select do |svc|
204
206
  (svc['integrations'] || []).any? { |i| is_suitable_integration?(i) }
205
207
  end
206
- return response.reply(t('service_ls.no_services')) if services.empty?
207
208
 
208
209
  services.sort_by { |svc| svc['name'] }.map { |svc|
209
210
  t('service_ls.entry', service_name: svc['name'], service_id: svc['id'])
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = 'lita-interrupt'
3
- spec.version = '0.1.0'
3
+ spec.version = '0.1.1'
4
4
  spec.authors = ['Noel Cower']
5
5
  spec.email = ['ncower@gmail.com']
6
6
  spec.description = 'lita-interrupt interrupts a user by assigning them to a new incident in PagerDuty'
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  spec.required_ruby_version = '~> 2.3'
18
18
 
19
- spec.add_runtime_dependency 'lita', '>= 4.7'
19
+ spec.add_runtime_dependency 'lita', '~> 4.7'
20
20
  spec.add_runtime_dependency 'pager_duty-connection', '~> 1.0'
21
21
 
22
22
  spec.add_development_dependency 'bundler', '~> 1.3'
metadata CHANGED
@@ -1,27 +1,27 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-interrupt
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noel Cower
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-12 00:00:00.000000000 Z
11
+ date: 2018-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.7'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ">="
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.7'
27
27
  - !ruby/object:Gem::Dependency
@@ -192,7 +192,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
192
192
  version: '0'
193
193
  requirements: []
194
194
  rubyforge_project:
195
- rubygems_version: 2.5.1
195
+ rubygems_version: 2.7.3
196
196
  signing_key:
197
197
  specification_version: 4
198
198
  summary: Interrupts people through the power of PagerDuty