class CocoaPodsStats::Sender

Constants

API_URL

Public Instance Methods

send(targets, pod_try: false) click to toggle source
# File lib/cocoapods_stats/sender.rb, line 7
def send(targets, pod_try: false)
  body = {
    :targets => targets,
    :cocoapods_version => Pod::VERSION,
    :pod_try => pod_try,
  }
  headers = {
    'Accept' => 'application/json',
    'Content-Type' => 'application/json',
  }
  curl(API_URL, body, headers)
end

Private Instance Methods

curl(url, json, headers) click to toggle source
# File lib/cocoapods_stats/sender.rb, line 22
def curl(url, json, headers)
  headers = headers.map { |k, v| ['-H', "#{k}: #{v}"] }.flatten
  command = ['curl', *headers, '-X', 'POST', '-d', json.to_json, '-m', '30', url]
  dev_null = '/dev/null'
  Process.spawn(*command, :out => dev_null, :err => dev_null)
end