Sha256: 44f1518b6efb9ea1b3e1371145cb734e2b2d56ddf50608af2d9aa8e00d9f8dce

Contents?: true

Size: 1.15 KB

Versions: 12

Compression:

Stored size: 1.15 KB

Contents

# Base class for 3taps API client classes.
class Client
  DEFAULT_URL = 'http://3taps.net'
  DEFAULT_API_PORT = 80
  # Initializes Client class with +baseUrl+ and +port+ parameters. By default 
  # DEFAULT_URL and DEFAULT_API_PORT are used. Examples:
  #  Client.new
  #  Client.new("http://3taps.com", 8080)
  def initialize(baseUrl = DEFAULT_URL, port = DEFAULT_API_PORT)
    @baseURL = baseUrl
    @port = port
  end

  # Executes GET request on URL and port with +path+ and +params+ parameters.
  # Example:
  #
  #  execute_get("/search", "data=data")
  def execute_get( path, params = nil )
    address = params.nil? ? path : path + '?' + params 
    request = Curl::Easy.new("#{@baseURL}:#{@port}" + address) 
    begin
      request.perform
    rescue
      "Some Error with Request."
    end
    request.body_str
  end

  # Executes POST request on URL and port with +path+ and +params+ parameters.
  # Example:
  #
  #  execute_post("search", "data=data")
  def execute_post( path, params = nil )
    c = Curl::Easy.http_post("#{@baseURL}:#{@port}/#{path}", params)
    c.body_str
  end

  private

  def decode(data)
    ActiveSupport::JSON.decode(data)
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
threetaps-client-1.0.10 lib/client/client.rb
threetaps-client-1.0.9 lib/client/client.rb
threetaps-client-1.0.8 lib/client/client.rb
threetaps-client-1.0.7 lib/client/client.rb
threetaps-client-1.0.6 lib/client/client.rb
threetaps-client-1.0.5 lib/client/client.rb
threetaps-client-1.0.4 lib/client/client.rb
threetaps-client-1.0.3 lib/client/client.rb
threetaps-client-1.0.2 lib/client/client.rb
threetaps-client-1.0.1 lib/client/client.rb
threetaps-client-1.0.0 lib/client/client.rb
threetaps-client-0.5.1 lib/client/client.rb