Class: Stripe::StripeClient::SystemProfiler
- Inherits:
 - 
      Object
      
        
- Object
 - Stripe::StripeClient::SystemProfiler
 
 
- Defined in:
 - lib/stripe/stripe_client.rb
 
Overview
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.
Class Method Summary collapse
Instance Method Summary collapse
- 
  
    
      #initialize  ⇒ SystemProfiler 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
A new instance of SystemProfiler.
 - #user_agent ⇒ Object
 
Constructor Details
#initialize ⇒ SystemProfiler
Returns a new instance of SystemProfiler.
      1051 1052 1053  | 
    
      # File 'lib/stripe/stripe_client.rb', line 1051 def initialize @uname = self.class.uname end  | 
  
Class Method Details
.uname ⇒ Object
      1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033  | 
    
      # File 'lib/stripe/stripe_client.rb', line 1020 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 ⇒ Object
      1035 1036 1037 1038 1039 1040 1041  | 
    
      # File 'lib/stripe/stripe_client.rb', line 1035 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 ⇒ Object
      1043 1044 1045 1046 1047 1048 1049  | 
    
      # File 'lib/stripe/stripe_client.rb', line 1043 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  | 
  
Instance Method Details
#user_agent ⇒ Object
      1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070  | 
    
      # File 'lib/stripe/stripe_client.rb', line 1055 def user_agent lang_version = "#{RUBY_VERSION} p#{RUBY_PATCHLEVEL} " \ "(#{RUBY_RELEASE_DATE})" { application: Stripe.app_info, bindings_version: Stripe::VERSION, lang: "ruby", lang_version: lang_version, platform: RUBY_PLATFORM, engine: defined?(RUBY_ENGINE) ? RUBY_ENGINE : "", publisher: "stripe", uname: @uname, hostname: Socket.gethostname, }.delete_if { |_k, v| v.nil? } end  |