module Transifex

Add a method add_resource to create a new resource for the project Add a method get_resources to fetch all the resources

Constants

VERSION

Attributes

configuration[RW]

Public Class Methods

build_request_url(url='') click to toggle source
# File lib/tx-ruby.rb, line 52
def self.build_request_url(url='')
  URI(self.configuration.root_url + url)    
end
configure() { |configuration| ... } click to toggle source
# File lib/tx-ruby.rb, line 47
def self.configure
  self.configuration ||= Configuration.new
  yield configuration
end
query_api(method, url, params={}) click to toggle source
# File lib/tx-ruby.rb, line 56
def self.query_api(method, url, params={})
  uri = build_request_url(url)

  res = Net::HTTP.start(uri.host, 80) do |http|
    req = Net::HTTP::const_get(method.capitalize).new(uri.request_uri, request_headers)
    req.basic_auth self.configuration.client_login, self.configuration.client_secret
    begin
      req.body = Transifex::JSON.dump(params)
    rescue Encoding::UndefinedConversionError
      params[:content] = params[:content].force_encoding("utf-8")
      req.body = Transifex::JSON.dump(params) 
    end
    http.request req
  end

  begin
    data = Transifex::JSON.load(res.body.nil? ? '' : res.body)
  rescue
    data = res.body
  end

  unless (res.is_a? Net::HTTPOK) || (res.is_a? Net::HTTPCreated) || (res.is_a? Net::HTTPNoContent)
    error = TransifexError.new(uri, res.code, data)
    raise error
  end    

  data
end
request_headers() click to toggle source
# File lib/tx-ruby.rb, line 85
def self.request_headers    
  request_headers = {      
    'Content-Type' => 'application/json',
    'Accept' => 'application/json',
    'User-Agent' => "Transifex-interface-ruby/#{Transifex::VERSION}"
  }    
end