Class: LibyuiClient::App

Inherits:
Object
  • Object
show all
Defined in:
lib/libyui_client/app.rb

Instance Method Summary collapse

Constructor Details

#initialize(host:, port:) ⇒ App

Used to initialize main entry point of LibyuiClient and set host and port for the application under control.

Parameters:

  • host (String)

    host address (e.g. ‘localhost’, ‘192.168.0.1’)

  • port (String)

    port opened for communication (e.g. ‘9999’)



9
10
11
12
13
14
# File 'lib/libyui_client/app.rb', line 9

def initialize(host:, port:)
  @host = host
  @port = port
  @widget_controller = Http::WidgetController.new(host: host, port: port)
  @version_controller = Http::VersionController.new(host: host, port: port)
end

Instance Method Details

#bargraph(filter) ⇒ Widgets::Bargraph

Initializes new instance of Bargraph with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.bargraph(id: 'id', label: 'label', class: 'YBarGraph')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



22
23
24
# File 'lib/libyui_client/app.rb', line 22

def bargraph(filter)
  Widgets::Bargraph.new(@widget_controller, FilterExtractor.new(filter))
end

#button(filter) ⇒ Widgets::Button

Initializes new instance of Button with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.button(id: 'id', label: 'label', class: 'YPushButton')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



32
33
34
# File 'lib/libyui_client/app.rb', line 32

def button(filter)
  Widgets::Button.new(@widget_controller, FilterExtractor.new(filter))
end

#check_api_versionObject

Validates if server side REST API is compatible with client inside

Returns:

  • true if version is compatible, false if not or any error while receiving version from the server

Raises:



221
222
223
224
225
226
227
228
# File 'lib/libyui_client/app.rb', line 221

def check_api_version
  LibyuiClient.logger.info("Client API version: #{API_VERSION}")
  server_api_v = server_api_version
  raise Error::LibyuiClientError if server_api_v.nil?

  LibyuiClient.logger.info("Server API version: #{server_api_v}")
  server_api_v <= client_api_version
end

#checkbox(filter) ⇒ Widgets::Checkbox

Initializes new instance of Checkbox with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.checkbox(id: 'id', label: 'label', class: 'YCheckBox')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



42
43
44
# File 'lib/libyui_client/app.rb', line 42

def checkbox(filter)
  Widgets::Checkbox.new(@widget_controller, FilterExtractor.new(filter))
end

#client_api_versionObject

Returns client side libyui REST API version

Returns:

  • libyui client REST API version



208
209
210
# File 'lib/libyui_client/app.rb', line 208

def client_api_version
  API_VERSION
end

#combobox(filter) ⇒ Widgets::Combobox

Initializes new instance of Combobox with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.combobox(id: 'id', label: 'label', class: 'YComboBox')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



52
53
54
# File 'lib/libyui_client/app.rb', line 52

def combobox(filter)
  Widgets::Combobox.new(@widget_controller, FilterExtractor.new(filter))
end

#datefield(filter) ⇒ Widgets::Datefield

Initializes new instance of Datefield with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.datefield(id: 'id', label: 'label', class: 'YDateField')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



62
63
64
# File 'lib/libyui_client/app.rb', line 62

def datefield(filter)
  Widgets::Datefield.new(@widget_controller, FilterExtractor.new(filter))
end

#label(filter) ⇒ Widgets::Label

Initializes new instance of Label with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.label(id: 'id', label: 'label', class: 'YLabel')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



72
73
74
# File 'lib/libyui_client/app.rb', line 72

def label(filter)
  Widgets::Label.new(@widget_controller, FilterExtractor.new(filter))
end

Initializes new instance of Menubutton with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.menubutton(id: 'id', label: 'label', class: 'YMenuButton')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



82
83
84
# File 'lib/libyui_client/app.rb', line 82

def menubutton(filter)
  Widgets::Menubutton.new(@widget_controller, FilterExtractor.new(filter))
end

#multilinebox(filter) ⇒ Widgets::Multilinebox

Initializes new instance of Multilinebox with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.multilinebox(id: 'id', label: 'label', class: 'YMultiLineEdit')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



92
93
94
# File 'lib/libyui_client/app.rb', line 92

def multilinebox(filter)
  Widgets::Multilinebox.new(@widget_controller, FilterExtractor.new(filter))
end

#numberbox(filter) ⇒ Widgets::Numberbox

Initializes new instance of Numberbox with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.numberbox(id: 'id', label: 'label', class: 'YIntField')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



102
103
104
# File 'lib/libyui_client/app.rb', line 102

def numberbox(filter)
  Widgets::Numberbox.new(@widget_controller, FilterExtractor.new(filter))
end

#progressbar(filter) ⇒ Widgets::Progressbar

Initializes new instance of Progressbar with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.progressbar(id: 'id', label: 'label', class: 'YProgressBar')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



112
113
114
# File 'lib/libyui_client/app.rb', line 112

def progressbar(filter)
  Widgets::Progressbar.new(@widget_controller, FilterExtractor.new(filter))
end

#radiobutton(filter) ⇒ Widgets::Radiobutton

Initializes new instance of Radiobutton with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.radiobutton(id: 'id', label: 'label', class: 'YRadioButton')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



122
123
124
# File 'lib/libyui_client/app.rb', line 122

def radiobutton(filter)
  Widgets::Radiobutton.new(@widget_controller, FilterExtractor.new(filter))
end

#richtext(filter) ⇒ Widgets::Richtext

Initializes new instance of Richtext with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.richtext(id: 'id', label: 'label', class: 'YRichText')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



132
133
134
# File 'lib/libyui_client/app.rb', line 132

def richtext(filter)
  Widgets::Richtext.new(@widget_controller, FilterExtractor.new(filter))
end

#selectionbox(filter) ⇒ Widgets::Selectionbox

Initializes new instance of Selectionbox with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.selectionbox(id: 'id', label: 'label', class: 'YSelectionBox')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



142
143
144
# File 'lib/libyui_client/app.rb', line 142

def selectionbox(filter)
  Widgets::Selectionbox.new(@widget_controller, FilterExtractor.new(filter))
end

#server_api_versionObject

Returns server side libyui REST API version

Returns:

  • libyui server REST API version



214
215
216
# File 'lib/libyui_client/app.rb', line 214

def server_api_version
  @version_controller.api_version
end

#tab(filter) ⇒ Widgets::Tab

Initializes new instance of Tab with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.tab(id: 'id', label: 'label', class: 'YDumbTab')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



152
153
154
# File 'lib/libyui_client/app.rb', line 152

def tab(filter)
  Widgets::Tab.new(@widget_controller, FilterExtractor.new(filter))
end

#table(filter) ⇒ Widgets::Table

Initializes new instance of Table with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.table(id: 'id', label: 'label', class: 'YTable')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



162
163
164
# File 'lib/libyui_client/app.rb', line 162

def table(filter)
  Widgets::Table.new(@widget_controller, FilterExtractor.new(filter))
end

#textbox(filter) ⇒ Widgets::Textbox

Initializes new instance of Textbox with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.textbox(id: 'id', label: 'label', class: 'YInputField')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



182
183
184
# File 'lib/libyui_client/app.rb', line 182

def textbox(filter)
  Widgets::Textbox.new(@widget_controller, FilterExtractor.new(filter))
end

#timefield(filter) ⇒ Widgets::Timefield

Initializes new instance of time field with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.timefield(id: 'id', label: 'label', class: 'YTimeField')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



172
173
174
# File 'lib/libyui_client/app.rb', line 172

def timefield(filter)
  Widgets::Timefield.new(@widget_controller, FilterExtractor.new(filter))
end

#tree(filter) ⇒ Widgets::Tree

Initializes new instance of Tree with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.tree(id: 'id', label: 'label', class: 'YTree')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



192
193
194
# File 'lib/libyui_client/app.rb', line 192

def tree(filter)
  Widgets::Tree.new(@widget_controller, FilterExtractor.new(filter))
end

#wizard(filter) ⇒ Widgets::Wizard

Initializes new instance of Wizard with the filter provided. Does not make request to libyui-rest-api.

Examples:

app.wizard(id: 'id', label: 'label', class: 'YWizard')

Parameters:

  • filter (Hash)

    filter to find a widget

Returns:



202
203
204
# File 'lib/libyui_client/app.rb', line 202

def wizard(filter)
  Widgets::Wizard.new(@widget_controller, FilterExtractor.new(filter))
end