squared 0.4.24 → 0.4.25

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: c07babae909a985bae708b8a2bec453b223d9889af828da70d990609e9966142
4
- data.tar.gz: 5375a660bbcc0f49b5a3eaad5ab2740b103beeb3823a0d7b027b9005bf39faa9
3
+ metadata.gz: 11a03c7d13bf0170f8b60953148792df626cf1c1edb02f7a1da9c46a4668fc1d
4
+ data.tar.gz: ee42ffc6ac7b056604d9bb8ad81041dcd7787cb6d883b253f5390e7e94addc99
5
5
  SHA512:
6
- metadata.gz: 23cd1e57c7d0039fed851d6d426eec51022dba2c26bbce9faafddd20ded4aad3d00d6db023c3a99e2aa485aace597567df4f603130746daa5dc5e2d661c658dd
7
- data.tar.gz: cb9556662d393d458413df3669f9859b4b3df9d9ca3e659b9098fac0d550349eaf8b414e6cb85b0828f522f3b78f1627c282350eb6b9b62218f76413ebcaabb8
6
+ metadata.gz: 23cf6af69c98270efe9894f77e646c6006e34652aae843cc621fd6248324efece67b90bd60ea107f28c7a38b522885984f8f0e5e962dc5dd67c6d52ae522ac05
7
+ data.tar.gz: 3cd04987351a9a9f98c878ab93307270ea7fa84d93207d361455ec008dc757ad98b258b2c098280ae1ae22aee78b90b179df9b654d9f01594b2c1198d02f4b0b
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.4.25] - 2025-10-18
4
+
5
+ ### Fixed
6
+
7
+ - Project groups did not have their own copy of base events.
8
+
3
9
  ## [0.4.24] - 2025-10-17
4
10
 
5
11
  ### Added
@@ -1037,6 +1043,7 @@
1037
1043
 
1038
1044
  - Changelog was created.
1039
1045
 
1046
+ [0.4.25]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.25
1040
1047
  [0.4.24]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.24
1041
1048
  [0.4.23]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.23
1042
1049
  [0.4.22]: https://github.com/anpham6/squared-ruby/releases/tag/v0.4.22
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Squared
4
- VERSION = '0.4.24'
4
+ VERSION = '0.4.25'
5
5
  end
@@ -322,21 +322,9 @@ module Squared
322
322
  end
323
323
 
324
324
  def add(path, project = nil, **kwargs, &blk)
325
- if @withargs
326
- data = @withargs.dup
327
- data.merge!(kwargs)
328
- kwargs = data
329
- end
330
- ref = if kwargs.key?(:ref)
331
- kwargs = kwargs.dup unless @withargs
332
- kwargs.delete(:ref)
333
- elsif @ref.is_a?(Symbol)
334
- @ref
335
- end
336
- if @group.is_a?(String) && !kwargs.key?(:group)
337
- kwargs = kwargs.dup unless @withargs
338
- kwargs[:group] = @group
339
- end
325
+ kwargs = Support.hashdup(@withargs).update(kwargs) if @withargs
326
+ ref = kwargs.key?(:ref) ? kwargs.delete(:ref) : @ref
327
+ kwargs[:group] = @group if @group && !kwargs.key?(:group)
340
328
  path = root + path
341
329
  project = (project || path.basename).to_s
342
330
  name = task_name project
@@ -396,18 +396,9 @@ module Squared
396
396
  return self
397
397
  elsif !projectpath?(path = basepath(path)) || !checkdir?(path)
398
398
  return self
399
- else
400
- name = case name
401
- when String, Symbol
402
- name.to_s
403
- end
404
- end
405
- if @withargs
406
- data = @withargs.dup
407
- data.merge!(kwargs)
408
- kwargs = data
409
399
  end
410
- kwargs[:group] = group unless kwargs.key?(:group)
400
+ kwargs = hashdup(@withargs).update(kwargs) if @withargs
401
+ kwargs[:group] = group if group && !kwargs.key?(:group)
411
402
  kwargs[:ref] = ref unless kwargs.key?(:ref)
412
403
  parent = self
413
404
  proj = nil
@@ -2139,6 +2130,10 @@ module Squared
2139
2130
  Workspace::Support.hashlist
2140
2131
  end
2141
2132
 
2133
+ def hashdup
2134
+ Workspace::Support.hashdup
2135
+ end
2136
+
2142
2137
  def borderstyle
2143
2138
  ((data = workspace.banner_get(*@ref, group: group)) && data[:border]) || theme[:border]
2144
2139
  end
@@ -247,9 +247,9 @@ module Squared
247
247
  add quote_option(key, val, double: qq.include?(key), merge: merge)
248
248
  elsif p.include?(key)
249
249
  if val.match?(/\A(["']).+\1\z/)
250
- add shell_option(key, val, escape: false, merge: merge, sep: sep)
250
+ add shell_option(key, val, escape: false, merge: merge)
251
251
  elsif path
252
- add quote_option(key, path + val, merge: merge, sep: sep)
252
+ add quote_option(key, path + val, merge: merge)
253
253
  else
254
254
  push opt
255
255
  end
@@ -11,6 +11,26 @@ module Squared
11
11
  def hashlist
12
12
  Hash.new { |data, key| data[key] = [] }
13
13
  end
14
+
15
+ def hashdup(data, pass: [])
16
+ ret = {}
17
+ data.each do |key, val|
18
+ ret[key] = case val
19
+ when Hash
20
+ if pass.include?(val)
21
+ val
22
+ else
23
+ pass << val
24
+ hashdup(val, pass: pass)
25
+ end
26
+ when Proc, Method
27
+ val
28
+ else
29
+ val.dup
30
+ end
31
+ end
32
+ ret
33
+ end
14
34
  end
15
35
  end
16
36
  end
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: squared
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.24
4
+ version: 0.4.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - An Pham
8
+ autorequire:
8
9
  bindir: exe
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2025-10-18 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: rake
@@ -111,6 +112,7 @@ metadata:
111
112
  homepage_uri: https://github.com/anpham6/squared-ruby
112
113
  source_code_uri: https://github.com/anpham6/squared-ruby
113
114
  documentation_uri: https://squared.readthedocs.io
115
+ post_install_message:
114
116
  rdoc_options: []
115
117
  require_paths:
116
118
  - lib
@@ -125,7 +127,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
127
  - !ruby/object:Gem::Version
126
128
  version: '0'
127
129
  requirements: []
128
- rubygems_version: 3.6.9
130
+ rubygems_version: 3.2.33
131
+ signing_key:
129
132
  specification_version: 4
130
133
  summary: Rake task generator for managing multi-language workspaces.
131
134
  test_files: []