Class: Reactor::Cm::Language

Inherits:
Object
  • Object
show all
Defined in:
lib/reactor/cm/language.rb

Class Method Summary collapse

Class Method Details

.get(username = nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/reactor/cm/language.rb', line 4

def self.get(username = nil)
  begin
    options = {}
    options = { login: username } if username
    request = XmlRequest.prepare do |xml|
      xml.tag!("userConfig-getTexts", options) do
        xml.tag!("listitem") do
          xml.text!("languages.language")
        end
      end
    end
    response = request.execute!
    response.xpath("//listitem").text
  rescue StandardError
    nil
  end
end

.set(*args) ⇒ Object

FIXME: broken ([011003] Die Klasse ‘%s’ wird nicht unterstützt.)

Raises:

  • (ArgumentError)


23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/reactor/cm/language.rb', line 23

def self.set(*args)
  username = language = nil
  raise ArgumentError, "set requires one or two parameters" unless [1, 2].include? args.length

  username, language = *args if args.length == 2
  language = *args if args.length == 1

  raise ArgumentError, "language cannot be nil" if language.nil?

  options = {}
  options = { login: username } if username

  begin
    request = XmlRequest.prepare do |xml|
      xml.tag!("userConfig.setTexts", options) do
        xml.tag!("dictitem") do
          xml.tag!("key") do
            xml.text!("languages.language")
          end
          xml.tag!("value") do
            xml.text!(language)
          end
        end
      end
    end
    response = request.execute!
    response.ok?
  rescue StandardError
    false
  end
end