Class: PleskKit::Server

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/plesk_kit/server.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.most_suitable_for_new_customer(platform) ⇒ Object



11
12
13
14
15
16
17
# File 'app/models/plesk_kit/server.rb', line 11

def self.most_suitable_for_new_customer(platform)
  server_list = PleskKit::Server.where(:environment => Rails.env.to_s, :platform => platform)
  servers = []
  server_list.each { |s| servers << PleskKit::Communicator.get_server_stats(server=s) }
  servers = servers.sort_by { |hsh| hsh[:ram] }.reverse
  PleskKit::Server.find servers.first[:id]
end

Instance Method Details

#analyse_this(response) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
# File 'app/models/plesk_kit/server.rb', line 37

def analyse_this response
  xml = REXML::Document.new(response)
  free_ram = cpu = nil
  ram = xml.root.elements['//mem']
  ram.each do |r|
    if r.name == 'free'
      free_ram = r.text
    end
  end
  cpu = xml.root.elements['//l15'].text
  return {id:self.id,ram:free_ram,cpu:cpu}
end

#pack_this(shell) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/models/plesk_kit/server.rb', line 24

def pack_this shell
  xml = shell
  xml.instruct!
  xml.packet(:version => '1.6.3.5') {
    xml.server{
      xml.get{
        xml.stat()
      }
    }
  }
  return xml.target!
end

#starved_of_resources?Boolean

Returns:

  • (Boolean)


19
20
21
22
# File 'app/models/plesk_kit/server.rb', line 19

def starved_of_resources?
  # TODO Check CPU, Diskspace, RAM. Return false if all met satisfactorily.
  false
end