easol-canvas 3.3.1 → 4.0.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dc609cfddb0df9a458af860e381eda6b754b87c059f3cd5d98e88bfe4d2f0ba1
|
4
|
+
data.tar.gz: db1a86ed56ebb2dd0ef04c26648a92027fd53be43dd8ec143fcf36cc22c7ead3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8daf60e7d01290bcbee438acc338ed817ba21cdf9a3b47a4adc2faad0288595cc8fa2c46093ab31c9182bbdc2ab1ec1dd3104484a11534b7044b315263072759
|
7
|
+
data.tar.gz: d02ec887f74f5c30092500c4c92514f91f1253090fb0fac3b33d4aa6c6cb35c6eee44c82a5df9ed0d9ce7eb5a4a231dbdd5eb8db443c98472a42abb105815423
|
@@ -38,6 +38,7 @@ module Canvas
|
|
38
38
|
ensure_has_required_keys &&
|
39
39
|
ensure_no_unrecognized_keys &&
|
40
40
|
ensure_keys_are_correct_types &&
|
41
|
+
ensure_key_is_lowercase &&
|
41
42
|
ensure_key_value_is_not_reserved &&
|
42
43
|
ensure_no_duplicate_attributes &&
|
43
44
|
ensure_attributes_are_valid &&
|
@@ -92,6 +93,13 @@ module Canvas
|
|
92
93
|
true
|
93
94
|
end
|
94
95
|
|
96
|
+
def ensure_key_is_lowercase
|
97
|
+
return true if schema["key"] == schema["key"].downcase
|
98
|
+
|
99
|
+
@errors << %("key" #{schema["key"]} must be lowercase)
|
100
|
+
false
|
101
|
+
end
|
102
|
+
|
95
103
|
# Ensuring the value for key doesn't clash with our primitive type keys.
|
96
104
|
# See {Canvas::Constants::PRIMITIVE_TYPES}
|
97
105
|
def ensure_key_value_is_not_reserved
|
@@ -10,7 +10,8 @@ module Canvas
|
|
10
10
|
|
11
11
|
def validate
|
12
12
|
super &&
|
13
|
-
ensure_default_values_are_valid
|
13
|
+
ensure_default_values_are_valid &&
|
14
|
+
ensure_only_from_values_are_valid
|
14
15
|
end
|
15
16
|
|
16
17
|
private
|
@@ -23,6 +24,10 @@ module Canvas
|
|
23
24
|
end
|
24
25
|
end
|
25
26
|
|
27
|
+
def optional_keys
|
28
|
+
super.merge("only_from" => Array)
|
29
|
+
end
|
30
|
+
|
26
31
|
def ensure_default_values_are_valid
|
27
32
|
return true unless attribute.key?("default")
|
28
33
|
|
@@ -36,13 +41,29 @@ module Canvas
|
|
36
41
|
def default_value_is_valid?(value)
|
37
42
|
value = value.downcase
|
38
43
|
if !ALLOWED_DEFAULT_VALUES.include?(value)
|
39
|
-
@errors << "
|
40
|
-
"one of: #{ALLOWED_DEFAULT_VALUES.join(', ')}"
|
44
|
+
@errors << %["default" for variant-type variables must be one of: #{ALLOWED_DEFAULT_VALUES.join(', ')}]
|
41
45
|
false
|
42
46
|
else
|
43
47
|
true
|
44
48
|
end
|
45
49
|
end
|
50
|
+
|
51
|
+
def ensure_only_from_values_are_valid
|
52
|
+
return true unless attribute.key?("only_from")
|
53
|
+
|
54
|
+
if attribute["only_from"].empty?
|
55
|
+
@errors << %["only_from" cannot be empty]
|
56
|
+
return false
|
57
|
+
end
|
58
|
+
|
59
|
+
unsupported_entries = attribute["only_from"] - Product::ALLOWED_RESTRICTIONS
|
60
|
+
if unsupported_entries.any?
|
61
|
+
@errors << %["only_from" for variant-type variables must be one of: #{Product::ALLOWED_RESTRICTIONS.join(', ')}]
|
62
|
+
return false
|
63
|
+
end
|
64
|
+
|
65
|
+
true
|
66
|
+
end
|
46
67
|
end
|
47
68
|
end
|
48
69
|
end
|
data/lib/canvas/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: easol-canvas
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kyle Byrne
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-03-
|
12
|
+
date: 2023-03-22 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: thor
|