kennel 1.43.0 → 1.44.0

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
2
  SHA256:
3
- metadata.gz: 6af54a490e2bace86bb51b365a2d1bdfe48bd2949ed2a3a7d870acc41dba33a1
4
- data.tar.gz: d2576aea2e2908a0f8c45af918d5a18f45efd2c05b4246ad9c53b31d9ade50af
3
+ metadata.gz: fd52c4d2d7fde7372320bfa6643d3ac3e56d908ea4f97929d06f8221faa428fc
4
+ data.tar.gz: a17fc2854a60fd5a1c6bb97b2ce46eebcaa88096239358aeb83978bcd52f2b5b
5
5
  SHA512:
6
- metadata.gz: 258c7088f6e55629fb61e0b95701cd59cfc9615925e0b89753179fdf15289c9e309fba1bda9221b4c68d6519d228c03005b8535621881347f21bd8e5a884d5c7
7
- data.tar.gz: 4dc69e5a620edbf36e65f8ae550e40a202c7b6e7aa47945e36eb2ab201e497daf4e32b0af038f7fa5b3039f025f301474d08c691c8c4b8f1f101760d3d5d698c
6
+ metadata.gz: b614a905978f2cda66a67f77b037af24f899ae57a8fe400ea46663568aa056ea2ec8c8c0948f6f9b7375cbf92830f5d294256cd5d201341ac1e86cb885ec4c94
7
+ data.tar.gz: 1973330596e721ad7c74a219eba95e8a019dd3d799df47595d7e61e613e59c1c576f4575fd30e8acd08ed2c381b89261aefd22e3cdc603bdfa5001a8c559feca
@@ -83,8 +83,34 @@ module Kennel
83
83
  Utils.path_to_url "/dashboard/#{id}"
84
84
  end
85
85
 
86
+ def resolve_linked_tracking_ids(id_map)
87
+ as_json[:widgets].each do |widget|
88
+ next unless definition = widget[:definition]
89
+ case definition[:type]
90
+ when "uptime"
91
+ if ids = definition[:monitor_ids]
92
+ definition[:monitor_ids] = ids.map { |id| resolve_link(id, id_map) }
93
+ end
94
+ when "alert_graph"
95
+ if id = definition[:alert_id]
96
+ definition[:alert_id] = resolve_link(id, id_map).to_s
97
+ end
98
+ end
99
+ end
100
+ end
101
+
86
102
  private
87
103
 
104
+ def resolve_link(id, id_map)
105
+ return id unless tracking_id?(id)
106
+ id_map[id] ||
107
+ Kennel.err.puts("Unable to find #{id} in existing monitors (they need to be created first to link them)")
108
+ end
109
+
110
+ def tracking_id?(id)
111
+ id.is_a?(String) && !id.match?(/\A\d+\z/)
112
+ end
113
+
88
114
  def validate_json(data)
89
115
  super
90
116
 
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Kennel
3
- VERSION = "1.43.0"
3
+ VERSION = "1.44.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kennel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.43.0
4
+ version: 1.44.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-07-06 00:00:00.000000000 Z
11
+ date: 2019-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday