kube_schema 1.1.0 → 1.1.1
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/Gemfile.lock +9 -18
- data/lib/kube/errors.rb +23 -0
- data/lib/kube/schema/resource.rb +0 -1
- data/lib/kube/schema/schema_cache.rb +1 -3
- data/lib/kube/schema/version.rb +1 -1
- data/lib/kube/schema.rb +7 -4
- metadata +2 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 680ff429952710d6a4bb3e2076acbec92cf626262d7d7b15e52bc46f953aecbb
|
|
4
|
+
data.tar.gz: fc6e69ab71e52d8d3d8a687009dff9959531c184d831f1518525088c7c4c1d70
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c5f7d7841cf6910a66e9d227134cf71d93c77409abbba47498a4ded790ca104da352c7e3f203591cf9f80830dcaa452be22ed5ec61171809c103facf37c9cea8
|
|
7
|
+
data.tar.gz: c5ce8b5120dab8400045aac8dbbe95dad565c00d12fe5a048b0322492a3b850c698721ff3d37993211cee2fa98cac47f4d756af2e8ff75cd23a3aa965841f7e7
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
kube_schema (1.
|
|
4
|
+
kube_schema (1.1.0)
|
|
5
5
|
black_hole_struct (~> 0.1)
|
|
6
6
|
json_schemer (~> 2.5)
|
|
7
7
|
rubyshell (~> 1.5)
|
|
@@ -9,17 +9,12 @@ PATH
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: https://rubygems.org/
|
|
11
11
|
specs:
|
|
12
|
-
addressable (2.8.9)
|
|
13
|
-
public_suffix (>= 2.0.2, < 8.0)
|
|
14
12
|
ast (2.4.3)
|
|
15
|
-
bigdecimal (4.
|
|
13
|
+
bigdecimal (4.1.1)
|
|
16
14
|
black_hole_struct (0.1.3)
|
|
17
15
|
diff-lcs (1.6.2)
|
|
18
16
|
hana (1.3.7)
|
|
19
|
-
json (2.19.
|
|
20
|
-
json-schema (6.2.0)
|
|
21
|
-
addressable (~> 2.8)
|
|
22
|
-
bigdecimal (>= 3.1, < 5)
|
|
17
|
+
json (2.19.3)
|
|
23
18
|
json_schemer (2.5.0)
|
|
24
19
|
bigdecimal
|
|
25
20
|
hana (~> 1.3)
|
|
@@ -27,18 +22,15 @@ GEM
|
|
|
27
22
|
simpleidn (~> 0.2)
|
|
28
23
|
language_server-protocol (3.17.0.5)
|
|
29
24
|
lint_roller (1.1.0)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
parallel (1.27.0)
|
|
33
|
-
parser (3.3.10.2)
|
|
25
|
+
parallel (2.0.1)
|
|
26
|
+
parser (3.3.11.1)
|
|
34
27
|
ast (~> 2.4.1)
|
|
35
28
|
racc
|
|
36
29
|
prism (1.9.0)
|
|
37
|
-
public_suffix (7.0.5)
|
|
38
30
|
racc (1.8.1)
|
|
39
31
|
rainbow (3.1.1)
|
|
40
|
-
rake (13.
|
|
41
|
-
regexp_parser (2.
|
|
32
|
+
rake (13.4.2)
|
|
33
|
+
regexp_parser (2.12.0)
|
|
42
34
|
rspec (3.13.2)
|
|
43
35
|
rspec-core (~> 3.13.0)
|
|
44
36
|
rspec-expectations (~> 3.13.0)
|
|
@@ -52,12 +44,11 @@ GEM
|
|
|
52
44
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
53
45
|
rspec-support (~> 3.13.0)
|
|
54
46
|
rspec-support (3.13.7)
|
|
55
|
-
rubocop (1.
|
|
47
|
+
rubocop (1.86.1)
|
|
56
48
|
json (~> 2.3)
|
|
57
49
|
language_server-protocol (~> 3.17.0.2)
|
|
58
50
|
lint_roller (~> 1.1.0)
|
|
59
|
-
|
|
60
|
-
parallel (~> 1.10)
|
|
51
|
+
parallel (>= 1.10)
|
|
61
52
|
parser (>= 3.3.0.2)
|
|
62
53
|
rainbow (>= 2.2.2, < 4.0)
|
|
63
54
|
regexp_parser (>= 2.9.3, < 3.0)
|
data/lib/kube/errors.rb
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Kube
|
|
4
|
+
# Base error for all Kube gems. Catch this to handle any Kube error.
|
|
5
|
+
class Error < StandardError; end
|
|
6
|
+
|
|
7
|
+
# Raised when a schema version is unknown.
|
|
8
|
+
class UnknownVersionError < Error; end
|
|
9
|
+
|
|
10
|
+
# Raised when a version string is formatted incorrectly (e.g. "v1.33.6").
|
|
11
|
+
class IncorrectVersionFormat < Error; end
|
|
12
|
+
|
|
13
|
+
# Raised when a schema download fails.
|
|
14
|
+
class DownloadError < Error
|
|
15
|
+
attr_reader :url, :status_code
|
|
16
|
+
|
|
17
|
+
def initialize(message = nil, url: nil, status_code: nil)
|
|
18
|
+
@url = url
|
|
19
|
+
@status_code = status_code
|
|
20
|
+
super(message || "Failed to download schema: #{@url} (HTTP #{@status_code})")
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
data/lib/kube/schema/resource.rb
CHANGED
|
@@ -19,8 +19,6 @@ module Kube
|
|
|
19
19
|
module SchemaCache
|
|
20
20
|
BASE_URL = 'https://raw.githubusercontent.com/general-intelligence-systems/kube_schema/refs/heads/schemas'
|
|
21
21
|
|
|
22
|
-
class DownloadError < StandardError; end
|
|
23
|
-
|
|
24
22
|
class << self
|
|
25
23
|
# Root directory for cached schemas.
|
|
26
24
|
# Defaults to ~/.cache/kube_schema/schemas (or $XDG_CACHE_HOME/kube_schema/schemas).
|
|
@@ -88,7 +86,7 @@ module Kube
|
|
|
88
86
|
|
|
89
87
|
Net::HTTP.get_response(uri).then do |response|
|
|
90
88
|
unless response.is_a?(Net::HTTPSuccess)
|
|
91
|
-
raise DownloadError
|
|
89
|
+
raise Kube::DownloadError.new(url: url, status_code: response.code)
|
|
92
90
|
end
|
|
93
91
|
|
|
94
92
|
FileUtils.mkdir_p(File.dirname(local))
|
data/lib/kube/schema/version.rb
CHANGED
data/lib/kube/schema.rb
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative '../kube/errors'
|
|
3
4
|
require_relative 'schema/version'
|
|
4
5
|
require_relative 'schema/resource'
|
|
5
6
|
require_relative 'schema/instance'
|
|
@@ -7,9 +8,11 @@ require_relative 'schema/schema_cache'
|
|
|
7
8
|
require_relative 'schema/schema_index'
|
|
8
9
|
|
|
9
10
|
module Kube
|
|
11
|
+
def self.schema
|
|
12
|
+
Schema
|
|
13
|
+
end
|
|
14
|
+
|
|
10
15
|
module Schema
|
|
11
|
-
class UnknownVersionError < StandardError; end
|
|
12
|
-
class IncorrectVersionFormat < StandardError; end
|
|
13
16
|
|
|
14
17
|
@schema_version = nil
|
|
15
18
|
@instances = {}
|
|
@@ -30,7 +33,7 @@ module Kube
|
|
|
30
33
|
is_a_version = -> (key) { Gem::Version.correct?(key) }
|
|
31
34
|
|
|
32
35
|
if key.start_with?("v") && Gem::Version.correct?(key.sub("v", ""))
|
|
33
|
-
raise IncorrectVersionFormat,
|
|
36
|
+
raise Kube::IncorrectVersionFormat,
|
|
34
37
|
"\nDon't preface the version with a \"v\"." \
|
|
35
38
|
"\nUse Kube::Schema[\"#{key.sub("v", "")}\"] instead."
|
|
36
39
|
end
|
|
@@ -39,7 +42,7 @@ module Kube
|
|
|
39
42
|
if has_version?(key)
|
|
40
43
|
@instances[key] ||= Instance.new(key)
|
|
41
44
|
else
|
|
42
|
-
raise UnknownVersionError.new(
|
|
45
|
+
raise Kube::UnknownVersionError.new(
|
|
43
46
|
"\n#{key} is an unknown version..." +
|
|
44
47
|
"\nUse `Kube::Schema.schema_versions` to get a list."
|
|
45
48
|
)
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kube_schema
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.1.
|
|
4
|
+
version: 1.1.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nathan K
|
|
@@ -124,6 +124,7 @@ files:
|
|
|
124
124
|
- bin/update-schema-index
|
|
125
125
|
- flake.nix
|
|
126
126
|
- kube_schema.gemspec
|
|
127
|
+
- lib/kube/errors.rb
|
|
127
128
|
- lib/kube/schema.rb
|
|
128
129
|
- lib/kube/schema/instance.rb
|
|
129
130
|
- lib/kube/schema/resource.rb
|