squared 0.3.12 → 0.3.13

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: f6ba5fce68ca21d291620e1877a4a00733e795d1cc9fa5cccfe9866d422554b6
4
- data.tar.gz: 8b22eaea56b0a8ccc5ad9880fd3efc12060246228a09e902d346a054947b31b6
3
+ metadata.gz: 52de0073b3487c74635741dc496973cfb3c0925e67c61df2a087fb15ced40045
4
+ data.tar.gz: d8d6cfd52e3575822d667aca3b7432545f1d4ab66a6d5bf02b86cb2d9ee46690
5
5
  SHA512:
6
- metadata.gz: 8312fe3ccf942363b0bce6b05e24fbb012860b3e1dd3e36956dfc754a0b563db1edac58e054a1409c65d71cdf82f2dd5d4b487e2ee6d1da8c24a650c73132e42
7
- data.tar.gz: 6553a12173f0e5e4ee421772fa503c58d9e77f98738cedd25c5d06775ac4f13bf6c1a2b5eab6b0cae07f7ce23e60b60ed95c098b6eb2eaf938bc081c0f1f7e55
6
+ metadata.gz: 8283a392f7cf4aa3c9f48f152e64d855062f12d7fcc130556e89887f73be82cbc10fe29dea45f274e7568399219a632fd6d6dccf63bccaed39bb2ffa2b8b8ca2
7
+ data.tar.gz: 2e437617d9ec8a4bb820bd066c8a7d93229dafb65e650a2aaacd533f9bd4b8e858422434fab0d0e31030721547cc372e13a541a46e8cef6a8a34c6e4971a332b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.3.13] - 2025-07-16
4
+
5
+ ### Fixed
6
+
7
+ - See `0.2.13`.
8
+
9
+ ## [0.2.13] - 2025-07-16
10
+
11
+ ### Fixed
12
+
13
+ - Project graph did not ignore circular references.
14
+
15
+ ## [0.1.10] - 2025-07-16
16
+
17
+ ### Fixed
18
+
19
+ - Module namespaces were not combined in the right order.
20
+ - Workspace group tasks were not registered.
21
+
3
22
  ## [0.3.12] - 2025-07-05
4
23
 
5
24
  ### Fixed
@@ -457,6 +476,7 @@
457
476
 
458
477
  - Changelog was created.
459
478
 
479
+ [0.3.13]: https://github.com/anpham6/squared/releases/tag/v0.3.13-ruby
460
480
  [0.3.12]: https://github.com/anpham6/squared/releases/tag/v0.3.12-ruby
461
481
  [0.3.11]: https://github.com/anpham6/squared/releases/tag/v0.3.11-ruby
462
482
  [0.3.10]: https://github.com/anpham6/squared/releases/tag/v0.3.10-ruby
@@ -470,6 +490,7 @@
470
490
  [0.3.2]: https://github.com/anpham6/squared/releases/tag/v0.3.2-ruby
471
491
  [0.3.1]: https://github.com/anpham6/squared/releases/tag/v0.3.1-ruby
472
492
  [0.3.0]: https://github.com/anpham6/squared/releases/tag/v0.3.0-ruby
493
+ [0.2.13]: https://github.com/anpham6/squared/releases/tag/v0.2.13-ruby
473
494
  [0.2.12]: https://github.com/anpham6/squared/releases/tag/v0.2.12-ruby
474
495
  [0.2.11]: https://github.com/anpham6/squared/releases/tag/v0.2.11-ruby
475
496
  [0.2.10]: https://github.com/anpham6/squared/releases/tag/v0.2.10-ruby
@@ -483,6 +504,7 @@
483
504
  [0.2.2]: https://github.com/anpham6/squared/releases/tag/v0.2.2-ruby
484
505
  [0.2.1]: https://github.com/anpham6/squared/releases/tag/v0.2.1-ruby
485
506
  [0.2.0]: https://github.com/anpham6/squared/releases/tag/v0.2.0-ruby
507
+ [0.1.10]: https://github.com/anpham6/squared/releases/tag/v0.1.10-ruby
486
508
  [0.1.9]: https://github.com/anpham6/squared/releases/tag/v0.1.9-ruby
487
509
  [0.1.8]: https://github.com/anpham6/squared/releases/tag/v0.1.8-ruby
488
510
  [0.1.7]: https://github.com/anpham6/squared/releases/tag/v0.1.7-ruby
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Squared
4
- VERSION = '0.3.12'
4
+ VERSION = '0.3.13'
5
5
  end
@@ -664,20 +664,19 @@ module Squared
664
664
  end
665
665
 
666
666
  def data_get(*args, group: nil, ref: nil, target: nil)
667
- if group
668
- target[:group][group.to_sym]
669
- elsif ref.is_a?(Array)
670
- ref = ref.each
671
- end
672
- if ref.instance_of?(Enumerator)
673
- ref.each do |key|
674
- next unless (ret = target[:ref][key])
667
+ if group && (ret = target[:group][group.to_sym])
668
+ ret
669
+ elsif ref
670
+ if ref.is_a?(Enumerable)
671
+ ref.each do |key|
672
+ next unless (ret = target[:ref][key])
675
673
 
676
- return ret if args.empty? || args.any? { |val| ret.key?(val) }
674
+ return ret if args.empty? || args.any? { |val| ret.key?(val) }
675
+ end
676
+ nil
677
+ else
678
+ target[:ref][ref]
677
679
  end
678
- nil
679
- elsif ref
680
- target[:ref][ref]
681
680
  end
682
681
  end
683
682
 
@@ -814,7 +814,7 @@ module Squared
814
814
  done
815
815
  end
816
816
 
817
- def graph_collect(target, start = [], data: {}, pass: [])
817
+ def graph_collect(target, start = [], data: {}, pass: [], root: [])
818
818
  deps = []
819
819
  (start.empty? ? target.instance_variable_get(:@graph) : start)&.each do |val|
820
820
  next if pass.include?(val)
@@ -826,18 +826,21 @@ module Squared
826
826
  else
827
827
  items = workspace.find(group: val, ref: val.to_sym)
828
828
  end
829
-
830
829
  items.each do |proj|
831
- next if pass.include?(proj.name)
830
+ next if pass.include?(name = proj.name)
832
831
 
833
- graph_collect(proj, data: data, pass: pass) if proj.graph? && !data.key?(proj.name)
834
- next if (objs = data.fetch(proj.name, [])).include?(target)
832
+ if proj.graph? && !data.key?(name) && !root.include?(name)
833
+ graph_collect(proj, data: data, pass: pass, root: root + [name, target.name])
834
+ end
835
+ next if (objs = data.fetch(name, [])).include?(target)
835
836
 
836
837
  deps << proj
837
- deps += objs
838
+ deps.concat(objs)
838
839
  end
839
840
  end
840
- data[target.name] = deps.uniq.reject { |proj| proj == target }
841
+ deps.uniq!
842
+ deps.delete(target)
843
+ data[target.name] = deps
841
844
  data
842
845
  end
843
846
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: squared
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.12
4
+ version: 0.3.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - An Pham