class PicturepathAUI::Client

Attributes

api_version[R]
password[R]
username[R]

Public Class Methods

new(attributes = {}) click to toggle source
# File lib/picturepath_aui/client.rb, line 8
def initialize(attributes = {})
  @username = attributes.fetch(:username)
  @password = attributes.fetch(:password)
  @api_version = attributes.fetch(:api_version, "5.1")
end

Public Instance Methods

check(payload) click to toggle source
# File lib/picturepath_aui/client.rb, line 14
def check(payload)
  post_request(:check, payload)
end
submit(payload) click to toggle source
# File lib/picturepath_aui/client.rb, line 18
def submit(payload)
  post_request(:submit, payload)
end

Private Instance Methods

api_url() click to toggle source
# File lib/picturepath_aui/client.rb, line 35
def api_url
  "http://picturepath.homestore.com/picturepath/cgi-bin/receiver.pl"
end
aui_default_params(action) click to toggle source
# File lib/picturepath_aui/client.rb, line 39
def aui_default_params(action)
  action_string = action.to_s.capitalize
  "?username=#{escape(username)}&password=#{escape(password)}&client=AUI&" +
  "version=#{api_version}&action=#{action_string}"
end
escape(attribute) click to toggle source
# File lib/picturepath_aui/client.rb, line 24
def escape(attribute)
  return CGI.escape(attribute)
end
payload_params(payload) click to toggle source
# File lib/picturepath_aui/client.rb, line 45
def payload_params(payload)
  "&xml=#{escape(payload)}"
end
post_request(action, payload) click to toggle source
# File lib/picturepath_aui/client.rb, line 28
def post_request(action, payload)
  payload = payload.to_xml if payload.is_a?(Request)
  url = (api_url + aui_default_params(action) + payload_params(payload)).to_s
  xml = open(url).read
  return Response.new(xml)
end