module Alman::HeadersBuilder
Public Class Methods
build(headers)
click to toggle source
# File lib/alman/apibits/headers_builder.rb, line 4 def self.build(headers) headers ||= {} default_headers.merge(headers) end
default_headers()
click to toggle source
# File lib/alman/apibits/headers_builder.rb, line 9 def self.default_headers headers = { :user_agent => "Alman/#{Alman.api_version} RubyBindings/#{Alman::VERSION}", } begin headers.update({ :x_alman_client_user_agent => JSON.generate(user_agent) }) rescue => e headers.update({ :x_alman_client_raw_user_agent => user_agent.inspect, :error => "#{e} (#{e.class})" }) end headers end
get_uname()
click to toggle source
# File lib/alman/apibits/headers_builder.rb, line 40 def self.get_uname `uname -a 2>/dev/null`.strip if RUBY_PLATFORM =~ /linux|darwin/i rescue Errno::ENOMEM => ex # couldn't create subprocess "uname lookup failed" end
user_agent()
click to toggle source
# File lib/alman/apibits/headers_builder.rb, line 27 def self.user_agent lang_version = "#{RUBY_VERSION} p#{RUBY_PATCHLEVEL} (#{RUBY_RELEASE_DATE})" { :bindings_version => Alman::VERSION, :lang => 'ruby', :lang_version => lang_version, :platform => RUBY_PLATFORM, :publisher => 'alman', :uname => get_uname } end