class Cleo::ElementServer

Public Class Methods

execute_create(obj) click to toggle source
# File lib/cleo/element_server.rb, line 66
def self.execute_create(obj)
  obj = obj.to_cleo_result unless obj.is_a?(Cleo::Xml::Result)


  uri = URI.parse Cleo::Service.element_server_url + "_"
  request = Net::HTTP::Post.new(uri.path)

  request.body = obj.to_xml
  request.content_type = 'application/xml'

  response = Net::HTTP.new(uri.host, uri.port).start { |http| http.request request }

  return good_response_code?(response)
end
execute_delete(obj_or_id) click to toggle source
# File lib/cleo/element_server.rb, line 47
def self.execute_delete(obj_or_id)
  cleo_id = nil

  if obj_or_id.is_a?(Fixnum)
    cleo_id = obj_or_id
  elsif obj_or_id.respond_to?("cleo_id")
    cleo_id = obj_or_id.cleo_id
  elsif obj_or_id.is_a?(Cleo::Xml::Result)
    cleo_id = obj_or_id.id
  end

  uri = URI.parse Cleo::Service.element_server_url + "#{cleo_id}"
  request = Net::HTTP::Delete.new(uri.path)

  response = Net::HTTP.new(uri.host, uri.port).start { |http| http.request request }

  return good_response_code?(response)
end
execute_update(obj) click to toggle source
# File lib/cleo/element_server.rb, line 34
def self.execute_update(obj)
  obj = obj.to_cleo_result unless obj.is_a?(Cleo::Xml::Result)

  uri = URI.parse Cleo::Service.element_server_url + "#{obj.id}"
  request = Net::HTTP::Put.new(uri.path)

  request.content_type = 'application/xml'
  request.body = obj.to_xml
  response = Net::HTTP.new(uri.host, uri.port).start { |http| http.request request }

  return good_response_code?(response)
end
find(id) click to toggle source
# File lib/cleo/element_server.rb, line 17
def self.find(id)
  #query by element/id to get from cleo fast
  uri = URI.parse(Cleo::Service.element_server_url + "#{id}")
  response = Cleo.get(uri)

  return nil if response.body.blank?

  Cleo::Xml::Result.parse(response.body, :single => true)
end
query(query_param) click to toggle source
# File lib/cleo/element_server.rb, line 27
def self.query(query_param)
  uri = URI.parse(Cleo::Service.element_server_url + "search?query=#{CGI::escape query_param}")
  response = Cleo.get(uri)

  Cleo::Xml::Result.parse(response.body, :single => false)
end