foobara 0.0.69 → 0.0.71

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: f6aa740f8aa8c058877cd14db7cf69efdd0509bf39e790d7806d7e4f50309db3
4
- data.tar.gz: 38fe1c5a5613cc0811d50c19209360f13d507a1dc0ef90d7208103940c6f4d1b
3
+ metadata.gz: 3ceb4cde26286e2c3f8dfdf8bb4d0d939da11044b0312e2bafa51977a0071649
4
+ data.tar.gz: c3748ac6703dd5dfd098debb2a435c245dac8694dabdbcc2919ab357171aa9f6
5
5
  SHA512:
6
- metadata.gz: 5c0b2ffa28dfadc479c34a86b212079b4ed49bab0506a49db213d9bb50b9d709e883c50208b5b28a86dffcf80f583d0cb2e3baad32536e680605f46529c10d71
7
- data.tar.gz: c05caa4fd88b37c7b02bf522d965a550fe57e85d5382d98a81c3b7d970f6f091f7784e5069d0135c6694b757322d36c86770ab0fa3b5e832d930a548bd3becaa
6
+ metadata.gz: 3f31cafa7b0a11b3c6236e87983279f3b6b43d3881426b68ca7288cc896d27906bc263c82868a97379c47faad06b1e79aff4429be4bafe0b1e92586c09e11e0f
7
+ data.tar.gz: 83d3b0b5e5a4750358d1a641511e27cc8d8d559fc1cfc9e55970c9dc3b957568f0e0308070590730a65063f030a4d12b89957a43eeda4c77c21df8c012943751
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ # [0.0.71] - 2025-03-06
2
+
3
+ - Make require_primary_key: the default in AttributesHelpers
4
+
5
+ # [0.0.70] - 2025-03-06
6
+
7
+ - Make sure Foobara::Command.depends_on is inherited
8
+
1
9
  ## [0.0.69] - 2025-03-03
2
10
 
3
11
  - Allow StateMachine to use an attribute on another object as its current state for convenience
@@ -56,7 +56,15 @@ module Foobara
56
56
  end
57
57
 
58
58
  def depends_on(*subcommand_classes)
59
- return @depends_on ||= Set.new if subcommand_classes.empty?
59
+ if subcommand_classes.empty?
60
+ return @depends_on if defined?(@depends_on)
61
+
62
+ @depends_on = if self == Foobara::Command
63
+ Set.new
64
+ else
65
+ superclass.depends_on.dup
66
+ end
67
+ end
60
68
 
61
69
  if subcommand_classes.length == 1
62
70
  subcommand_classes = Util.array(subcommand_classes.first)
@@ -25,7 +25,7 @@ module Foobara
25
25
  respond_to?(:foobara_primary_key_attribute)
26
26
  end
27
27
 
28
- def foobara_attributes_for_update(require_primary_key: false)
28
+ def foobara_attributes_for_update(require_primary_key: true)
29
29
  foobara_attributes_for_aggregate_update(require_primary_key:)
30
30
  end
31
31
 
@@ -40,7 +40,7 @@ module Foobara
40
40
  Foobara::TypeDeclarations::Attributes.reject(declaration, foobara_primary_key_attribute)
41
41
  end
42
42
 
43
- def foobara_attributes_for_aggregate_update(require_primary_key: false, initial: true)
43
+ def foobara_attributes_for_aggregate_update(require_primary_key: true, initial: true)
44
44
  declaration = foobara_attributes_type.declaration_data
45
45
  declaration = Util.deep_dup(declaration)
46
46
 
@@ -51,7 +51,7 @@ module Foobara
51
51
  if require_primary_key
52
52
  declaration[:required] = [foobara_primary_key_attribute]
53
53
  else
54
- TypeDeclarations::Attributes.reject(declaration, foobara_primary_key_attribute)
54
+ declaration = TypeDeclarations::Attributes.reject(declaration, foobara_primary_key_attribute)
55
55
  end
56
56
  end
57
57
 
@@ -68,7 +68,7 @@ module Foobara
68
68
  declaration
69
69
  end
70
70
 
71
- def foobara_attributes_for_atom_update(require_primary_key: false)
71
+ def foobara_attributes_for_atom_update(require_primary_key: true)
72
72
  declaration = foobara_attributes_type.declaration_data
73
73
  declaration = Util.deep_dup(declaration)
74
74
 
@@ -111,8 +111,6 @@ module Foobara
111
111
  capture_current_namespaces
112
112
  end
113
113
 
114
- private
115
-
116
114
  def capture_current_namespaces
117
115
  # TODO: this feels like the wrong place to do this but doing it here for now to make sure it's done when
118
116
  # most important
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foobara
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.69
4
+ version: 0.0.71
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miles Georgi
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-03-04 00:00:00.000000000 Z
10
+ date: 2025-03-07 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: bigdecimal
@@ -460,7 +460,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
460
460
  - !ruby/object:Gem::Version
461
461
  version: '0'
462
462
  requirements: []
463
- rubygems_version: 3.6.3
463
+ rubygems_version: 3.6.5
464
464
  specification_version: 4
465
465
  summary: A command-centric and discoverable software framework with a focus on domain
466
466
  concepts and abstracting away integration code