Sha256: 2184623e26f21f49b9fdde479fa740d5456b7c087199921922153196c2051ef8

Contents?: true

Size: 1.68 KB

Versions: 17

Compression:

Stored size: 1.68 KB

Contents

# encoding: utf-8
module WebTranslateIt
  class Project
    
    def self.fetch_info(api_key)
      begin
        WebTranslateIt::Util.http_connection do |http|
          request = Net::HTTP::Get.new("/api/projects/#{api_key}.yaml")
          response = http.request(request)
          if response.is_a?(Net::HTTPSuccess)
            return response.body
          else
            puts "An error occured while fetching the project information:"
            puts response.body.failure
            exit
          end
        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.create_locale(api_key, locale_code)
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
web_translate_it-1.8.3 lib/web_translate_it/project.rb
web_translate_it-1.8.2.3 lib/web_translate_it/project.rb
web_translate_it-1.8.2.2 lib/web_translate_it/project.rb
web_translate_it-1.8.2.1 lib/web_translate_it/project.rb
web_translate_it-1.8.2.0 lib/web_translate_it/project.rb
web_translate_it-1.8.1.9 lib/web_translate_it/project.rb
web_translate_it-1.8.1.8 lib/web_translate_it/project.rb
web_translate_it-1.8.1.7 lib/web_translate_it/project.rb
web_translate_it-1.8.1.6 lib/web_translate_it/project.rb
web_translate_it-1.8.1.5 lib/web_translate_it/project.rb
web_translate_it-1.8.1.4 lib/web_translate_it/project.rb
web_translate_it-1.8.1.3 lib/web_translate_it/project.rb
web_translate_it-1.8.1.2 lib/web_translate_it/project.rb
web_translate_it-1.8.1.1 lib/web_translate_it/project.rb
web_translate_it-1.8.1.0 lib/web_translate_it/project.rb
web_translate_it-1.8.0.1 lib/web_translate_it/project.rb
web_translate_it-1.8.0.0 lib/web_translate_it/project.rb