kennel 1.94.0 → 1.96.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/kennel/importer.rb +6 -2
- data/lib/kennel/models/dashboard.rb +11 -2
- data/lib/kennel/models/team.rb +3 -2
- data/lib/kennel/version.rb +1 -1
- data/lib/kennel.rb +12 -1
- metadata +20 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dad671ae1433588cff8641dbe5337c5db450d2bda9a05d61ba272a76c2482a5b
|
|
4
|
+
data.tar.gz: 493cac344bfa4b1e2cab2de6e395887e91eac3d374fea84333af0268b8ee544d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6048d4264a57b5b1bbda44bbc302965de9b09ba8985f397d5c537910d1d79fad0b0e77b02dfcda9e43b2168bc32b1c3ad335081afb1f9f2a3c09096c811d0b4d
|
|
7
|
+
data.tar.gz: d4f919fcda3553c30bcfb38719b9996b5eca9189c0f4d7d73718f52b526a5eb84cb35f128463ae35fbac525dd61aacc54f7d2447bcf53eff5ed4f2bc5a30cc22
|
data/lib/kennel/importer.rb
CHANGED
|
@@ -149,12 +149,16 @@ module Kennel
|
|
|
149
149
|
end
|
|
150
150
|
|
|
151
151
|
def convert_strings_to_heredoc(text)
|
|
152
|
-
text.gsub(/^(
|
|
152
|
+
text.gsub(/^( *)([^" ]+ *)"([^"]+\\n[^"]+)"(,)?\n/) do
|
|
153
153
|
indent = $1
|
|
154
154
|
prefix = $2
|
|
155
155
|
string = $3
|
|
156
156
|
comma = $4
|
|
157
|
-
|
|
157
|
+
<<~CODE.gsub(/ +$/, "")
|
|
158
|
+
#{indent}#{prefix}<<~TXT#{comma}
|
|
159
|
+
#{indent} #{string.gsub("\\n", "\n#{indent} ").rstrip}
|
|
160
|
+
#{indent}TXT
|
|
161
|
+
CODE
|
|
158
162
|
end
|
|
159
163
|
end
|
|
160
164
|
|
|
@@ -69,7 +69,10 @@ module Kennel
|
|
|
69
69
|
template_variable_presets: nil
|
|
70
70
|
}.freeze
|
|
71
71
|
|
|
72
|
-
settings
|
|
72
|
+
settings(
|
|
73
|
+
:title, :description, :definitions, :widgets, :layout_type, :template_variable_presets, :reflow_type,
|
|
74
|
+
:tags
|
|
75
|
+
)
|
|
73
76
|
|
|
74
77
|
defaults(
|
|
75
78
|
description: -> { "" },
|
|
@@ -77,6 +80,10 @@ module Kennel
|
|
|
77
80
|
widgets: -> { [] },
|
|
78
81
|
template_variable_presets: -> { DEFAULTS.fetch(:template_variable_presets) },
|
|
79
82
|
reflow_type: -> { layout_type == "ordered" ? "auto" : nil },
|
|
83
|
+
tags: -> do # not inherited by default to make onboarding to using dashboard tags simple
|
|
84
|
+
team = project.team
|
|
85
|
+
team.tag_dashboards ? team.tags : []
|
|
86
|
+
end,
|
|
80
87
|
id: -> { nil }
|
|
81
88
|
)
|
|
82
89
|
|
|
@@ -145,10 +152,12 @@ module Kennel
|
|
|
145
152
|
return @json if @json
|
|
146
153
|
all_widgets = render_definitions(definitions) + widgets
|
|
147
154
|
expand_q all_widgets
|
|
155
|
+
tags = tags()
|
|
156
|
+
tags_as_string = (tags.empty? ? "" : " (#{tags.join(" ")})")
|
|
148
157
|
|
|
149
158
|
@json = {
|
|
150
159
|
layout_type: layout_type,
|
|
151
|
-
title: "#{title}#{LOCK}",
|
|
160
|
+
title: "#{title}#{tags_as_string}#{LOCK}",
|
|
152
161
|
description: description,
|
|
153
162
|
template_variables: render_template_variables,
|
|
154
163
|
template_variable_presets: template_variable_presets,
|
data/lib/kennel/models/team.rb
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
module Kennel
|
|
3
3
|
module Models
|
|
4
4
|
class Team < Base
|
|
5
|
-
settings :mention, :tags, :renotify_interval, :kennel_id
|
|
5
|
+
settings :mention, :tags, :renotify_interval, :kennel_id, :tag_dashboards
|
|
6
6
|
defaults(
|
|
7
7
|
tags: -> { ["team:#{kennel_id.sub(/^teams_/, "")}"] },
|
|
8
|
-
renotify_interval: -> { 0 }
|
|
8
|
+
renotify_interval: -> { 0 },
|
|
9
|
+
tag_dashboards: -> { false }
|
|
9
10
|
)
|
|
10
11
|
end
|
|
11
12
|
end
|
data/lib/kennel/version.rb
CHANGED
data/lib/kennel.rb
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
require "faraday"
|
|
3
3
|
require "json"
|
|
4
|
+
require "zeitwerk"
|
|
4
5
|
require "shellwords"
|
|
5
6
|
require "English"
|
|
6
7
|
|
|
@@ -30,6 +31,10 @@ require "kennel/models/synthetic_test"
|
|
|
30
31
|
require "kennel/models/project"
|
|
31
32
|
require "kennel/models/team"
|
|
32
33
|
|
|
34
|
+
# need to define early since we autoload the teams/ folder into it
|
|
35
|
+
module Teams
|
|
36
|
+
end
|
|
37
|
+
|
|
33
38
|
module Kennel
|
|
34
39
|
class ValidationError < RuntimeError
|
|
35
40
|
end
|
|
@@ -128,7 +133,13 @@ module Kennel
|
|
|
128
133
|
end
|
|
129
134
|
|
|
130
135
|
def load_all
|
|
131
|
-
|
|
136
|
+
loader = Zeitwerk::Loader.new
|
|
137
|
+
Dir.exist?("teams") && loader.push_dir("teams", namespace: Teams)
|
|
138
|
+
Dir.exist?("parts") && loader.push_dir("parts")
|
|
139
|
+
loader.setup
|
|
140
|
+
|
|
141
|
+
# TODO: also do projects
|
|
142
|
+
["projects"].each do |folder|
|
|
132
143
|
Dir["#{folder}/**/*.rb"].sort.each { |f| require "./#{f}" }
|
|
133
144
|
end
|
|
134
145
|
end
|
metadata
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kennel
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.96.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: 2021-10-
|
|
11
|
+
date: 2021-10-25 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- - "
|
|
17
|
+
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '1.8'
|
|
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
|
-
version: '
|
|
26
|
+
version: '1.8'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: hashdiff
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -52,6 +52,20 @@ dependencies:
|
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
54
|
version: '4.0'
|
|
55
|
+
- !ruby/object:Gem::Dependency
|
|
56
|
+
name: zeitwerk
|
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
|
58
|
+
requirements:
|
|
59
|
+
- - "~>"
|
|
60
|
+
- !ruby/object:Gem::Version
|
|
61
|
+
version: '2.4'
|
|
62
|
+
type: :runtime
|
|
63
|
+
prerelease: false
|
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
+
requirements:
|
|
66
|
+
- - "~>"
|
|
67
|
+
- !ruby/object:Gem::Version
|
|
68
|
+
version: '2.4'
|
|
55
69
|
description:
|
|
56
70
|
email: michael@grosser.it
|
|
57
71
|
executables: []
|