You are quite right, it should have. But I think in part I was trying to see whether the native tools could accomplish what you want, then be invoked by Ruby. Since it seems they can’t, at least not easily, you are right in thinking of using a Ruby plugin directly to manipulate the geometry. Your other thread suggested you had seen such functionality on other drawing programs. Have you any examples of how they work in practice, on geometry like what is in your models where you want to automate the double-lining?
How clear are you what should happen in awkward cases like the T-junction in your example? Do you want to offset half the double line separation in each direction? And keep the end level with the end of the existing line, or offset it out by half the separation again? Or put all of the separation on one side? If so, how does the algorithm or the user choose which side? And what other awkward cases can you think of?
Do you want the user to select (for example) a whole face with lines on it, just within a bounding box, an arbitrary selection of edges, a whole model, a whole component, or what?
Is this as simple as trying to generate wall thickness in a house plan, or more general, or more complex?
If you need direct user interaction with the plugin and the model for this sort of purpose, you need to make a Ruby Tool, which isn’t trivially easy, but there are examples around.
And presumably you will want at least a simple user interface to specify the offset required, and perhaps other options?
Are you planning to program this yourself?
Or do you want someone to do it for you? If the latter, then there’s a more appropriate forum section to post in - Commercial and Collaborative work.
I know some Ruby, but not enough to be able to program this, nor even to make more than the kind of general observations I’ve made above to suggest some issues to think about, before even starting to code.