class Telnyx::TelnyxClient::SystemProfiler
SystemProfiler
extracts information about the system that we're running in so that we can generate a rich user agent header to help debug integrations.
Public Class Methods
new()
click to toggle source
# File lib/telnyx/telnyx_client.rb, line 497 def initialize @uname = self.class.uname end
uname()
click to toggle source
# File lib/telnyx/telnyx_client.rb, line 466 def self.uname if ::File.exist?("/proc/version") ::File.read("/proc/version").strip else case RbConfig::CONFIG["host_os"] when /linux|darwin|bsd|sunos|solaris|cygwin/i uname_from_system when /mswin|mingw/i uname_from_system_ver else "unknown platform" end end end
uname_from_system()
click to toggle source
# File lib/telnyx/telnyx_client.rb, line 481 def self.uname_from_system (`uname -a 2>/dev/null` || "").strip rescue Errno::ENOENT "uname executable not found" rescue Errno::ENOMEM # couldn't create subprocess "uname lookup failed" end
uname_from_system_ver()
click to toggle source
# File lib/telnyx/telnyx_client.rb, line 489 def self.uname_from_system_ver (`ver` || "").strip rescue Errno::ENOENT "ver executable not found" rescue Errno::ENOMEM # couldn't create subprocess "uname lookup failed" end
Public Instance Methods
user_agent()
click to toggle source
# File lib/telnyx/telnyx_client.rb, line 501 def user_agent lang_version = "#{RUBY_VERSION} p#{RUBY_PATCHLEVEL} (#{RUBY_RELEASE_DATE})" { application: Telnyx.app_info, bindings_version: Telnyx::VERSION, lang: "ruby", lang_version: lang_version, platform: RUBY_PLATFORM, engine: defined?(RUBY_ENGINE) ? RUBY_ENGINE : "", publisher: "telnyx", uname: @uname, hostname: Socket.gethostname, }.delete_if { |_k, v| v.nil? } end