Class: Evolis::PremiumSdk::Espf

Inherits:
SdkBase
  • Object
show all
Defined in:
lib/evolis/premium_sdk/espf.rb

Constant Summary collapse

WRITE_PARAMS =

Parameters and values valid for setting

{
    'ESPFServerManager.port': /^[1-9][0-9]+$/,
    'ESPFTcpServerConnectionSupervisor.receivetimeout': /^[1-9][0-9]*$/,
    'ESPFServerManager.tcpenabled': %w[true false]
}
READ_PARAMS =

Parameters valid for reading

{
    'ESPFService.version': true,
    'ESPFService.requestlanguageversion': true
}

Constants inherited from SdkBase

SdkBase::SETTINGS

Instance Attribute Summary

Attributes inherited from SdkBase

#active_session

Instance Method Summary collapse

Methods inherited from SdkBase

#active_session?, #call_rpc, #list_settings, #print_setting, #request, #response, #sanitize_parameters, #valid_base64?, #valid_settings?

Constructor Details

#initialize(host, port) ⇒ Espf

Initializes the class and sets SDK host and port



11
12
13
# File 'lib/evolis/premium_sdk/espf.rb', line 11

def initialize(host, port)
  super(host, port, 'ESPF')
end

Instance Method Details

#get_param(key) ⇒ String

Reads the value of a server parameter

Raises:



20
21
22
23
24
25
26
# File 'lib/evolis/premium_sdk/espf.rb', line 20

def get_param(key)
  raise Error::InvalidParamError.new key unless valid_param?(key)

  call_rpc('GetParam', {
      key: key
  })
end

#set_param(key, value) ⇒ true

Edits the value of server parameter

Raises:



34
35
36
37
38
39
40
41
# File 'lib/evolis/premium_sdk/espf.rb', line 34

def set_param(key, value)
  raise Error::InvalidParamError.new "#{key}=#{value}" unless valid_param?(key, value)

  call_rpc('SetParam', {
      key:  key,
      data: value
  })
end

#valid_param?(key, value = nil) ⇒ true, false

Checks if the parameters supplied is valid



48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/evolis/premium_sdk/espf.rb', line 48

def valid_param?(key, value = nil)
  params = value ? WRITE_PARAMS : READ_PARAMS.merge(WRITE_PARAMS)

  return false unless params.has_key?(key.to_sym)

  if value
    return false if value.is_a?(String) && value.empty?
    return false if params[key.to_sym].is_a?(Array) && !params[key.to_sym].include?(value)
    return false if params[key.to_sym].is_a?(Regexp) && value !~ params[key.to_sym]
  end

  return true
end