
Hi, in short, I add in ruby bindings automatic inclusion of "dir" repositories in Y2 paths to ruby load path. Reason is to have common place to have pure ruby private ( in sense of not share it with rest of ruby world ) files. Its intended usage is for various modules, classes and other stuff that makes your plugins nicer. Include directory is not good as it contain now translated code and contain some special magic to make it work in ycp-way. Namespace is shared between plugins so it make sense to use own namespace there same way as in "include" directory. Thanks locilka for initial idea. Long story: For code now there is modules, clients and includes. Modules is intended for modules that share its functionality over component system. You can import it. Clients is scripts, that can be executed by Yast2 environment. Include is tricky as it is code snippets that is internally shared, but it has few limitations - It must be included in code, it must be ensured that it is included only once, so it is very limited compared to ruby ( or perl, python ) ability to share code parts. That leads to idea, that we need directory where you can have proprietary parts of code that is intended only for given module and its usage depends on language. Current status is that it is supported only in ruby-bindings, but plan is also to add it to perl and python bindings, if there is someone who is interested in it (e.g. now in perl it must be all in one file or use some tricky loading or write upstream perl library, that can be called). Example demonstration ( not working, just to demonstrate, real example comes after Milestone 4 ): client C: require "services/main_dialog" data = Services.load dialog = MainDialog.new data result = dialog.run if result == :ok Services.save dialog.data end return result dir/services/main_dialog.rb: require "yast" class Services attr_reader :data def initialize ... end def run ... end end Josef -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org