Module: DInstaller::DBus::Question::Interfaces::Question

Defined in:
lib/dinstaller/dbus/question.rb

Overview

Generic interface for a question

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



93
94
95
96
97
98
99
100
101
102
103
# File 'lib/dinstaller/dbus/question.rb', line 93

def self.included(base)
  base.class_eval do
    dbus_interface QUESTION_INTERFACE do
      dbus_reader :id, "u"
      dbus_reader :text, "s"
      dbus_reader :options, "as"
      dbus_reader :default_option, "s"
      dbus_accessor :answer, "s"
    end
  end
end

Instance Method Details

#answerString

Answer selected for a client

Returns:

  • (String)


82
83
84
# File 'lib/dinstaller/dbus/question.rb', line 82

def answer
  backend.answer.to_s
end

#answer=(option) ⇒ Object

Selects an option as answer

Parameters:

  • option (String)


89
90
91
# File 'lib/dinstaller/dbus/question.rb', line 89

def answer=(option)
  backend.answer = option.to_sym
end

#backendDInstaller::Question

Note:

Classes including this mixin must define a #backend method



# File 'lib/dinstaller/dbus/question.rb', line 45

#default_optionString

Default option a client should offer as answer

Returns:

  • (String)


75
76
77
# File 'lib/dinstaller/dbus/question.rb', line 75

def default_option
  backend.default_option.to_s
end

#idInteger

Unique id of the question

Returns:

  • (Integer)


52
53
54
# File 'lib/dinstaller/dbus/question.rb', line 52

def id
  backend.id
end

#optionsArray<String>

Note:

Clients are responsible of generating the proper label for each option.

Options the question admits as answer

Returns:

  • (Array<String>)


68
69
70
# File 'lib/dinstaller/dbus/question.rb', line 68

def options
  backend.options.map(&:to_s)
end

#textString

Text of the question

Returns:

  • (String)


59
60
61
# File 'lib/dinstaller/dbus/question.rb', line 59

def text
  backend.text
end