Class: StTools::System

Inherits:
Object
  • Object
show all
Defined in:
lib/st_tools/system.rb

Class Method Summary collapse

Class Method Details

.exenameString

Метод возвращает имя запускаемого скрипта (без пути), независимо от того, откуда данный метод вызывается.

Returns:

  • (String)

    имя скрипта или nil в случае ошибки



30
31
32
33
34
35
36
37
38
# File 'lib/st_tools/system.rb', line 30

def self.exename
  res = `ps -ef | grep #{Process.pid}`
  lines = res.split(/[\r\n]/)
  lines.each do |one|
    res = one unless one.match(/grep/)
  end
  res = res.split(' ').last
  File.basename(res)
end

.memoryInteger

Метод возвращает размер памяти, занятой приложением

Returns:

  • (Integer)

    размер памяти в байтах



7
8
9
# File 'lib/st_tools/system.rb', line 7

def self.memory
  return `ps -o rss -p #{Process::pid}`.chomp.split("\n").last.strip.to_i
end

.screen(size) ⇒ Integer

Метод возвращает размер терминала - число строк в терминале или число символов в строке

Parameters:

  • size (Sym)

    возвращаемый параметр

Options Hash (size):

  • :width (Sym)

    вернуть число символов в строке терминала

  • :height (Sym)

    верунть число строк в терминале

Returns:

  • (Integer)

    число символов в строке терминала или число строк в терминале



17
18
19
20
21
22
23
24
25
# File 'lib/st_tools/system.rb', line 17

def self.screen(size)
  sizes = `stty size 2>/dev/null`.chomp.split(' ')
  raise if sizes.count == 0
  raise if sizes.first.match(/\d/).nil?
  return sizes.last.to_i if size == :width
  return sizes.first.to_i if size == :height
rescue
  return (size == :width) ? 100 : 25
end