On 02/27/2017 07:51 AM, Ancor Gonzalez Sosa wrote:
Since the original thread is already ruined with discussions about concrete API design details that were not the main topic of my question, I will try once again from scratch.
Do we need a layer between libstorage-ng and (the rest) of YaST?
I think so. Why do I?
TLDR; libstorage-ng is multilanguage (with a Ruby-agnostic API, to say the least) and YaST-agnostic. Therefore, we need a layer to close the distance between libstorage-ng and Ruby/YaST. The alternative is to have boilerplate code all along YaST (like downcast) and our own customization for the Ruby tools.
I agree. In my opinion, there are several differences between C++ and Ruby ways that justify this layer. I don't say that one is better than other, simply they are different in nature and one should not impose anything to the other one. Most probably, both APIs look similar at the end, but there are enough reasons (as was exposed) to have an intermediate layer. I think to have two different APIs is not a problem if they are the most "correct" ones (and confortable) in their respective wolds. Another positive point is that any change in libstorage API will not affect the ruby part since we have only to adapt the wrapper. -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org