Class: ServerInfo
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- ServerInfo
- Defined in:
- lib/generators/kebab_remote_api/install/templates/models/server_info.rb
Instance Attribute Summary collapse
-
#cpu_load ⇒ Object
Returns the value of attribute cpu_load.
-
#disk_total ⇒ Object
Returns the value of attribute disk_total.
-
#disk_used ⇒ Object
Returns the value of attribute disk_used.
-
#mem_total ⇒ Object
Returns the value of attribute mem_total.
-
#mem_used ⇒ Object
Returns the value of attribute mem_used.
-
#uptime ⇒ Object
Returns the value of attribute uptime.
Instance Method Summary collapse
Instance Attribute Details
#cpu_load ⇒ Object
Returns the value of attribute cpu_load.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def cpu_load @cpu_load end |
#disk_total ⇒ Object
Returns the value of attribute disk_total.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def disk_total @disk_total end |
#disk_used ⇒ Object
Returns the value of attribute disk_used.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def disk_used @disk_used end |
#mem_total ⇒ Object
Returns the value of attribute mem_total.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def mem_total @mem_total end |
#mem_used ⇒ Object
Returns the value of attribute mem_used.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def mem_used @mem_used end |
#uptime ⇒ Object
Returns the value of attribute uptime.
5 6 7 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 5 def uptime @uptime end |
Instance Method Details
#as_json ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 24 def as_json { "CPU" => self.cpu_load, "Memory" => { "Total" => self.mem_total, "Used" => self.mem_used, }, "Disk" => { "Total" => self.disk_total, "Used" => self.disk_used }, "Uptime" => self.uptime }.to_json end |
#init ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/generators/kebab_remote_api/install/templates/models/server_info.rb', line 7 def init mem = Vmstat.memory # Getting disk info for main partition is, temprorarily, for only # UN*X-like systems, such as GNU/Linux, BSD, Mac OS X etc. # Windows implementation will be added in future disk = Vmstat.disk('/') # CPU load data => Float typed self.cpu_load = Vmstat.load_average.five_minutes # All size data => Megabytes (MB) self.mem_total = mem.total_bytes / 1024**2 self.mem_used = (mem.total_bytes - mem.free_bytes) / 1024**2 self.disk_total = disk.total_bytes / 1024**2 self.disk_used = (disk.total_bytes - disk.free_bytes) / 1024**2 # Uptime data => Minutes self.uptime = (Time.now - Vmstat.boot_time).to_i / 60 end |