Module: RorVsWild::Host

Defined in:
lib/rorvswild/host.rb

Class Method Summary collapse

Class Method Details

.cwdObject



42
43
44
# File 'lib/rorvswild/host.rb', line 42

def self.cwd
  Dir.pwd
end

.load_config(config) ⇒ Object



5
6
7
# File 'lib/rorvswild/host.rb', line 5

def self.load_config(config)
  @name = config.dig(:server, :name)
end

.nameObject



27
28
29
30
31
32
33
34
35
36
# File 'lib/rorvswild/host.rb', line 27

def self.name
  @name ||= if gae_instance = ENV["GAE_INSTANCE"] || ENV["CLOUD_RUN_EXECUTION"]
    gae_instance
  elsif dyno = ENV["DYNO"] # Heroku
    dyno.start_with?("run.") ? "run.*" :
      dyno.start_with?("release.") ? "release.*" : dyno
  else
    Socket.gethostname
  end
end

.osObject



9
10
11
12
13
# File 'lib/rorvswild/host.rb', line 9

def self.os
  @os_description ||= `uname -sr`.strip
rescue Exception
  @os_description = RbConfig::CONFIG["host_os"]
end

.pidObject



38
39
40
# File 'lib/rorvswild/host.rb', line 38

def self.pid
  Process.pid
end

.railsObject



23
24
25
# File 'lib/rorvswild/host.rb', line 23

def self.rails
  Rails.version if defined?(Rails)
end

.revisionObject



46
47
48
# File 'lib/rorvswild/host.rb', line 46

def self.revision
  Deployment.revision
end

.revision_descriptionObject



50
51
52
# File 'lib/rorvswild/host.rb', line 50

def self.revision_description
  Deployment.description
end

.rubyObject



19
20
21
# File 'lib/rorvswild/host.rb', line 19

def self.ruby
  RUBY_DESCRIPTION
end

.to_hObject



54
55
56
# File 'lib/rorvswild/host.rb', line 54

def self.to_h
  @to_h ||= {os: os, user: user, host: name, ruby: ruby, rails: rails, pid: pid, cwd: cwd, revision: revision}.compact
end

.userObject



15
16
17
# File 'lib/rorvswild/host.rb', line 15

def self.user
  Etc.getlogin
end