Sha256: fdcfcd95bbd1e66c93dc5e9acb811d38d0d8a3bb5d693a326edfc64cd6a8bb5a

Contents?: true

Size: 1.5 KB

Versions: 1

Compression:

Stored size: 1.5 KB

Contents

# encoding: utf-8
module WebTranslateIt
  class Project
    
    def self.fetch_info(api_key)
      puts "Gathering project's information…"
      begin
        WebTranslateIt::Util.http_connection do |http|
          request = Net::HTTP::Get.new("/api/projects/#{api_key}.yaml")
          Util.handle_response(http.request(request), true)
        end
      rescue Timeout::Error
        puts "The request timed out. The service may be overloaded. We will retry in 5 seconds."
        sleep(5)
        self.fetch_info(api_key)
      end
    end
    
    def self.fetch_stats(api_key)
      begin
        WebTranslateIt::Util.http_connection do |http|
          request = Net::HTTP::Get.new("/api/projects/#{api_key}/stats.yaml")
          Util.handle_response(http.request(request), true)
        end
      rescue Timeout::Error
        puts "The request timed out. The service may be overloaded. We will retry in 5 seconds."
        sleep(5)
        self.fetch_stats(api_key)
      end
    end
    
    def self.create_locale(api_key, locale_code)
      begin
        WebTranslateIt::Util.http_connection do |http|
          request = Net::HTTP::Post.new("/api/projects/#{api_key}/locales")
          request.set_form_data({ 'id' => locale_code }, ';')
          Util.handle_response(http.request(request), true)
        end
      rescue Timeout::Error
        puts "The request timed out. The service may be overloaded. We will retry in 5 seconds."
        sleep(5)
        self.fetch_stats(api_key)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
web_translate_it-1.7.1.1 lib/web_translate_it/project.rb