kube-dsl 0.8.1 → 0.8.3

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: 4af0139435aa4871fc15e13abf43a97d651bdb0064f569f0212834f9c958ca31
4
- data.tar.gz: fb14e4dfe90f30e4761798b86529edafb8445351ca89541c1c6ae53e2fccbf39
3
+ metadata.gz: 1dfaff646342ea50b793e34d1c657434f4b18be806b03b73b28ca115e841a6c5
4
+ data.tar.gz: 544f80055245a7b0222da3c2845547bde8cd25a22d834602501d7d3a522ba8a0
5
5
  SHA512:
6
- metadata.gz: 893ed573e9062471b39b9c7368752b373e16962ad552d5b329e950bd55e4b98db46112838821c965ef3f394ca74ae18962d3d95e1ea45f17cf83a48221895f5a
7
- data.tar.gz: a5f8c38def5e8f622355bb9fa91965bb1d0f536e9240992aa3638894073db18fd5190ccff115fb3ba3f356dfd65baf24791b44dc6a76a4fb1ea7365fa503ab81
6
+ metadata.gz: 15b544beba4022ddb25e8996064bbb7548b9ab361850af28d2bcf99600df5fd2711de5db2e5d76c9928edc12d5a1893247aaec72e7fcbca8b236298c04c2305f
7
+ data.tar.gz: 5313953f0039b8d40c8f1dbea9901afe72f43d11eb013b507b19c8827474612fcf8aa13f36f341bef56843355da071363a13240839c0e94c29ec33793ce51515
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 0.8.3
2
+ * Fix handling of `value_field` to invert incorrect logic (#10, @Bo98)
3
+ * Allow dry-inflector 1.x (#11, @Bo98)
4
+ * Tweak return type of value fields to be nilable (#12, @Bo98)
5
+
6
+ ## 0.8.2
7
+ * Fix entrypoint type signatures to make the block optional (#8, @Bo98)
8
+ * Tighten arity of value and object fields (#9, @Bo98)
9
+
1
10
  ## 0.8.1
2
11
  * Fix Sorbet types for blocks passed to DSL methods (#6, @Bo98)
3
12
  * Fix handling of number types (#5, @Bo98)
data/kube-dsl.gemspec CHANGED
@@ -10,7 +10,7 @@ Gem::Specification.new do |s|
10
10
 
11
11
  s.description = s.summary = 'A Ruby DSL for defining Kubernetes resources.'
12
12
 
13
- s.add_dependency 'dry-inflector', '~> 0.2'
13
+ s.add_dependency 'dry-inflector', '>= 0.2.1', '< 2'
14
14
 
15
15
  s.require_path = 'lib'
16
16
  s.files = Dir['{lib,spec,rbi}/**/*', 'Gemfile', 'LICENSE', 'CHANGELOG.md', 'README.md', 'Rakefile', 'kube-dsl.gemspec']
@@ -44,7 +44,7 @@ module KubeDSL
44
44
  method_name = method_name_for(resource)
45
45
  resource_type = "::#{ns}::#{resource.ref.kind}"
46
46
 
47
- rbi_code << "#{indent}T::Sig::WithoutRuntime.sig { params(block: T.proc.bind(#{resource_type}).void).returns(#{resource_type}) }\n"
47
+ rbi_code << "#{indent}T::Sig::WithoutRuntime.sig { params(block: T.nilable(T.proc.bind(#{resource_type}).void)).returns(#{resource_type}) }\n"
48
48
  rbi_code << "#{indent}def #{method_name}(&block); end\n\n"
49
49
  end
50
50
 
@@ -20,7 +20,7 @@ module KubeDSL
20
20
 
21
21
  def fields_to_rbi(inflector)
22
22
  [
23
- "T::Sig::WithoutRuntime.sig { params(val: T.nilable(#{rbi_type_for(@type)})).returns(#{rbi_type_for(@type)}) }",
23
+ "T::Sig::WithoutRuntime.sig { params(val: T.nilable(#{rbi_type_for(@type)})).returns(T.nilable(#{rbi_type_for(@type)})) }",
24
24
  "def #{ruby_safe_name}(val = nil); end"
25
25
  ]
26
26
  end
@@ -14,13 +14,13 @@ module KubeDSL
14
14
  def value_field(field, default: nil)
15
15
  __fields__[:value] << field
16
16
 
17
- define_method(field) do |*args|
18
- if args.empty?
17
+ define_method(field) do |value = (value_unset = true; nil)|
18
+ if value_unset
19
19
  instance_variable_get(:"@#{field}") || (
20
20
  default.respond_to?(:call) ? default.call(self) : default
21
21
  )
22
22
  else
23
- instance_variable_set(:"@#{field}", args.first)
23
+ instance_variable_set(:"@#{field}", value)
24
24
  end
25
25
  end
26
26
  end
@@ -29,11 +29,11 @@ module KubeDSL
29
29
  __fields__[:object] << field
30
30
  ivar = :"@#{field}"
31
31
 
32
- define_method(field) do |*args, &block|
32
+ define_method(field) do |&block|
33
33
  val = instance_variable_get(ivar)
34
34
 
35
35
  unless val
36
- val = field_block.call(*args)
36
+ val = field_block.call
37
37
  instance_variable_set(ivar, val)
38
38
  end
39
39
 
@@ -1,5 +1,5 @@
1
1
  # typed: strict
2
2
 
3
3
  module KubeDSL
4
- VERSION = '0.8.1'
4
+ VERSION = '0.8.3'
5
5
  end