squared 0.4.8 → 0.4.9

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.
@@ -66,7 +66,7 @@ module Squared
66
66
  end
67
67
  end
68
68
 
69
- attr_reader :exclude, :sync, :multiple, :parallel
69
+ attr_reader :sync, :multiple, :parallel
70
70
 
71
71
  def_delegators :@data, :[], :each, :each_key, :keys, :fetch, :to_a, :to_s, :inspect, :merge!, :key?
72
72
  def_delegators :@workspace, :task_desc, :task_name, :task_namespace, :task_join, :format_desc
@@ -90,7 +90,7 @@ module Squared
90
90
  group, parent, id = @session.values
91
91
  ws = proj.workspace
92
92
  @data.each do |key, items|
93
- next if exclude.include?(key) || (tasks = ws.task_resolve(proj, key)).empty?
93
+ next if exclude?(key) || (tasks = ws.task_resolve(proj, key)).empty?
94
94
 
95
95
  if (g = proj.group)
96
96
  id << g
@@ -114,9 +114,9 @@ module Squared
114
114
  @data.merge!(@session[:parent]) if @session[:id].uniq.size > 1
115
115
  @data.merge!(@session[:group])
116
116
  @data.each do |key, items|
117
- next if items.empty? || exclude.include?(key) || @workspace.task_exclude?(t = name_get(key))
117
+ next if exclude?(key, true) || @workspace.task_exclude?(t = name_get(key))
118
118
 
119
- key = task_name(t)
119
+ key = task_name t
120
120
  val = format_desc(key, out: true)
121
121
  if items.size > 1
122
122
  @multiple << key
@@ -168,14 +168,13 @@ module Squared
168
168
  return false unless (items = TASK_EXTEND[key]) && !(items = items.select { |kind| obj.is_a?(kind) }).empty?
169
169
 
170
170
  meth = :"#{key}?"
171
- allref = obj.allref.to_a
172
171
  ret = false
173
172
  items.each do |kind|
174
173
  if kind.instance_methods.include?(meth)
175
174
  out = obj.__send__(meth)
176
175
  return true if out == 1
177
176
  return out if obj.ref?(kind.ref)
178
- elsif allref.include?(kind.ref)
177
+ elsif obj.ref?(kind.ref)
179
178
  ret = true
180
179
  end
181
180
  end
@@ -200,6 +199,10 @@ module Squared
200
199
  already_invoked?(parallel, val)
201
200
  end
202
201
 
202
+ def exclude?(key, empty = false)
203
+ @exclude.include?(key) || (empty && @data[key].empty?)
204
+ end
205
+
203
206
  private
204
207
 
205
208
  def already_invoked?(list, val)
@@ -17,7 +17,7 @@ module Squared
17
17
  end
18
18
 
19
19
  def expect(name)
20
- ret = project(name)
20
+ ret = project name
21
21
  return ret if ret&.path&.directory?
22
22
 
23
23
  raise NoMethodError, "project is not initialized (#{name})"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: squared
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.8
4
+ version: 0.4.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - An Pham
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
10
+ date: 2025-04-28 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: rake
@@ -123,7 +123,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
125
  requirements: []
126
- rubygems_version: 3.6.7
126
+ rubygems_version: 3.6.2
127
127
  specification_version: 4
128
128
  summary: Rake task generator for managing multi-language workspaces.
129
129
  test_files: []