Project

General

Profile

Actions

action #67639

closed

coordination #36712: [saga] Use YaST specific framework for GUI testing

coordination #62726: [functional][y][epic] Create separate Ruby Gem representing libyui Client API

[functional][y][timeboxed:12h] Enable reuse of code for libyui_client widgets

Added by JERiveraMoya almost 4 years ago. Updated over 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
2020-06-03
Due date:
2020-06-16
% Done:

0%

Estimated time:

Description

After development in #66415 it was detected that with the current design we will be creating more code repeated every time we implement functionality in widgets, for example:

  • setting/getting text from textbox and numberbox
  • items
  • actions

Inheritance could still be used in some cases, but other more complex one proposal could be to create 'real inclusion' (with mixin (kind of easy way to use inclusion strategy that is possible in ruby there could be collision in names so it might not be the best way) instead of inheritance, so basically having some ItemController class where we could have all those different and shared methods and each object would pick the ones that needs. Same could be done for and ActionController because for example label does not have any action. In the case of ItemController could be an offline class with no rest calls, just passing items, in the case of ActionController we might need to provide it with possibility to make the rest call, which might need some extra reorganization of our base class for widget so we can delegate that code.

We should also rely on knowledge of internals on the server side. We should base our architecture on the way widgets work.

https://github.com/jknphy/libyui_client/pull/11/files


Files

libyui_uml.png (93 KB) libyui_uml.png ybonatakis, 2020-06-12 05:23
Actions

Also available in: Atom PDF