Class: DInstaller::DBus::Clients::Language
- Defined in:
- lib/dinstaller/dbus/clients/language.rb
Overview
D-Bus client for language configuration
Instance Method Summary collapse
-
#available_languages ⇒ Array<Array<String, String>>
Available languages for the installation.
-
#finish ⇒ Object
Finishes the language installation.
-
#initialize ⇒ Language
constructor
A new instance of Language.
-
#on_language_selected(&block) ⇒ Object
Registers a callback to run when the language changes.
-
#select_languages(ids) ⇒ Object
Selects the languages to install.
-
#selected_languages ⇒ Array<String>
Languages selected to install.
- #service_name ⇒ Object
Methods inherited from Base
Constructor Details
#initialize ⇒ Language
Returns a new instance of Language.
29 30 31 32 33 34 |
# File 'lib/dinstaller/dbus/clients/language.rb', line 29 def initialize super @dbus_object = service.object("/org/opensuse/DInstaller/Language1") @dbus_object.introspect end |
Instance Method Details
#available_languages ⇒ Array<Array<String, String>>
Available languages for the installation
43 44 45 |
# File 'lib/dinstaller/dbus/clients/language.rb', line 43 def available_languages dbus_object["org.opensuse.DInstaller.Language1"]["AvailableLanguages"].map { |l| l[0..1] } end |
#finish ⇒ Object
Finishes the language installation
62 63 64 |
# File 'lib/dinstaller/dbus/clients/language.rb', line 62 def finish dbus_object.Finish end |
#on_language_selected(&block) ⇒ Object
Note:
Signal subscription is done only once. Otherwise, the latest subscription overrides the previous one.
Registers a callback to run when the language changes
72 73 74 75 76 77 |
# File 'lib/dinstaller/dbus/clients/language.rb', line 72 def on_language_selected(&block) on_properties_change(dbus_object) do |_, changes, _| languages = changes["MarkedForInstall"] block.call(languages) end end |
#select_languages(ids) ⇒ Object
Selects the languages to install
57 58 59 |
# File 'lib/dinstaller/dbus/clients/language.rb', line 57 def select_languages(ids) dbus_object.ToInstall(ids) end |
#selected_languages ⇒ Array<String>
Languages selected to install
50 51 52 |
# File 'lib/dinstaller/dbus/clients/language.rb', line 50 def selected_languages dbus_object["org.opensuse.DInstaller.Language1"]["MarkedForInstall"] end |
#service_name ⇒ Object
36 37 38 |
# File 'lib/dinstaller/dbus/clients/language.rb', line 36 def service_name @service_name ||= "org.opensuse.DInstaller.Language" end |