ea 0.6.132 → 0.6.133

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: a542204dd94a1259f110781e2aefa2240a73ad54b382e50e23599efd1ecc81e7
4
- data.tar.gz: a508d4a7764678223708a317bc624f1e3eec295317e082cc15227705deac8343
3
+ metadata.gz: 020f344524c3f0702e581b349d7cb3f93a7069a3179684ca59440fd4d4762491
4
+ data.tar.gz: 46f2d46ab28ba95e5c975fedfa9bcd176c19b2acc4f3803635786f070dd315c2
5
5
  SHA512:
6
- metadata.gz: 2df081d4e9815a2006c2de93f590a748bba596f8550bc9546a5e505f8cdda94b0519a13a32d90106527123685e4432161227ab6f00c73f1d8520d305bac44a6d
7
- data.tar.gz: a100a9f9fb968da363f620390edc2e72321e9129032ed616c4cce9d9e0caefac8d3ea5fcae04a406dff42e2c08bb331f7742ab9ed5fccc528970a74270897d4d
6
+ metadata.gz: 16f49f774901e21cee845099df07ff8adc9989c3679c03fb49b97692356a81353d40c73c1cdde5dddfcd74b49657744695b61dbf557c96aabebe730fa4f0a7c4
7
+ data.tar.gz: 77fbf77c4cc929cb5565f2a9f712275b13e7244591b2dea3245d4ad096889531af5782aa4a8ad4888d9a2944e789fa9edd2657eb11cc5c93c5c6e9f17a7df3a0
@@ -182,6 +182,7 @@ module Ea
182
182
  def correct_stored_ray_origins(model, link_row, diagram_row, geom, context)
183
183
  return model if context
184
184
  return notelink_stored_ray(model, link_row, diagram_row, geom) if model.connector_type == "NoteLink"
185
+ return package_stored_ray(model, link_row, diagram_row, geom) if model.connector_type == "Package"
185
186
  return model unless stored_ray_candidate?(model, link_row, geom)
186
187
 
187
188
  source, target = stored_ray_boxes(link_row, diagram_row)
@@ -199,6 +200,42 @@ module Ea
199
200
  model
200
201
  end
201
202
 
203
+ # An empty custom-line package import has no authored bend. When
204
+ # its stored mathematical origins share a row inside both boxes,
205
+ # clip that ray instead of the computed EDGE2 port jog.
206
+ def package_stored_ray(model, link_row, diagram_row, geom)
207
+ return model unless package_ray_candidate?(model, link_row, geom)
208
+
209
+ boxes = stored_ray_boxes(link_row, diagram_row)
210
+ origins = level_package_origins(boxes, geom)
211
+ return model unless origins
212
+
213
+ model.waypoints = package_ray_waypoints(boxes, origins.first.y)
214
+ model.source_anchor, model.target_anchor = origins
215
+ model
216
+ end
217
+
218
+ def package_ray_candidate?(model, link_row, geom)
219
+ model.waypoints.size == 3 && link_row.path.to_s.empty? &&
220
+ model.style.values_at(:mode, :lwidth, :tree) == ["3", "0", nil] &&
221
+ geom[:edge] == 2 && geom.values_at(:sx, :sy, :ex, :ey).all?
222
+ end
223
+
224
+ def level_package_origins(boxes, geom)
225
+ return unless horizontal_ray_gap?(*boxes)
226
+
227
+ origins = association_ray_origins(*boxes, geom, "0")
228
+ origins if origins && origins.first.y == origins.last.y
229
+ end
230
+
231
+ def package_ray_waypoints(boxes, row)
232
+ rightward = boxes[0].x < boxes[1].x
233
+ boxes.each_with_index.map do |box, index|
234
+ x = box.x + (rightward == index.zero? ? box.width : 0)
235
+ Ea::Model::Waypoint.new(position: Ea::Model::Point.new(x: x, y: row))
236
+ end
237
+ end
238
+
202
239
  # A straight top-docked NoteLink uses mathematical saved Y offsets,
203
240
  # like the other custom rays, while authored bends keep their ports.
204
241
  def notelink_stored_ray(model, link_row, diagram_row, geom)
data/lib/ea/version.rb CHANGED
@@ -4,5 +4,5 @@ module Ea
4
4
  # Gem release version. Extracted to its own file so the
5
5
  # `gem-release` tool's `gem bump` can find and update it via the
6
6
  # standard `lib/<gem>/version.rb` convention.
7
- VERSION = "0.6.132"
7
+ VERSION = "0.6.133"
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ea
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.132
4
+ version: 0.6.133
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.