kube-dsl 0.8.1 → 0.8.2

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: 999f2bf83f428a8df758af2b435fb0aa64b8e69a722ff8eeb7ffc9837573a1ba
4
+ data.tar.gz: 735868e4588d34645f9cc7164ddb21f363b2b3af1b7a9b8b1ad6c4e5cb506a02
5
5
  SHA512:
6
- metadata.gz: 893ed573e9062471b39b9c7368752b373e16962ad552d5b329e950bd55e4b98db46112838821c965ef3f394ca74ae18962d3d95e1ea45f17cf83a48221895f5a
7
- data.tar.gz: a5f8c38def5e8f622355bb9fa91965bb1d0f536e9240992aa3638894073db18fd5190ccff115fb3ba3f356dfd65baf24791b44dc6a76a4fb1ea7365fa503ab81
6
+ metadata.gz: bb4a68116b5fefcf99bddd0857e43907f4dead424e51a5b6e76d1845c5264b193cefb871502a351aa172445ff47ad7fcdb39cc02eaec4050fb3e8bcb1f86930d
7
+ data.tar.gz: 5b4065446416e170515e3138d42805c1a2c0c8ab128b505f565c7135a2e587d87808811ef3be70a1726aece93d709b35eb1db882ac766b20e5d3009a3303d1d5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.8.2
2
+ * Fix entrypoint type signatures to make the block optional (#8, @Bo98)
3
+ * Tighten arity of value and object fields (#9, @Bo98)
4
+
1
5
  ## 0.8.1
2
6
  * Fix Sorbet types for blocks passed to DSL methods (#6, @Bo98)
3
7
  * Fix handling of number types (#5, @Bo98)
@@ -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
 
@@ -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_set = true; nil)|
18
+ if value_set
19
+ instance_variable_set(:"@#{field}", value)
20
+ else
19
21
  instance_variable_get(:"@#{field}") || (
20
22
  default.respond_to?(:call) ? default.call(self) : default
21
23
  )
22
- else
23
- instance_variable_set(:"@#{field}", args.first)
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.2'
5
5
  end