class Reactor::Cm::LogEntry

Public Class Methods

delete(conditions) click to toggle source
# File lib/reactor/cm/log_entry.rb, line 44
def delete(conditions)
  request = XmlRequest.prepare do |xml|
    where_part(xml, conditions)
    xml.tag!('logEntry-delete')
  end
  response = request.execute!
  result = response.xpath('//deleteLogEntriesCount').map {|x| x.text.to_s }.first
end
where(conditions = {}) click to toggle source
# File lib/reactor/cm/log_entry.rb, line 5
def where(conditions = {})
  request = XmlRequest.prepare do |xml|
    where_part(xml, conditions)
    xml.tag!('logEntry-get') do
      xml.tag!('logTime')
      xml.tag!('logText')
      xml.tag!('logType')
      xml.tag!('objectId')
      xml.tag!('receiver')
      xml.tag!('userLogin')
    end
  end
  response = request.execute!
  
  result = []
  log_entries = response.xpath('//logEntry')
  log_entries = [log_entries] unless log_entries.kind_of?(Array)
  log_entries.each do |log_entry_node|
    dict = {}
    log_entry_node.each_element do |value_node|
      if value_node.name == 'logTime'
        dict[value_node.name] = value_node.elements['isoDateTime'].text.to_s
      else
        dict[value_node.name] = value_node.text.to_s
      end
    end

    result << dict
  end

  return result
rescue Reactor::Cm::XmlRequestError => e
  if e.message =~ /#{Regexp.escape('[060001] Es wurde kein Eintrag gefunden.')}/
    return []
  else
    raise e
  end
end

Protected Class Methods

where_part(xml, conditions) click to toggle source
# File lib/reactor/cm/log_entry.rb, line 54
def where_part(xml, conditions)
  xml.tag!('logEntry-where') do
    conditions.each do |key, value|
      xml.tag!(key.to_s, value.to_s)
    end
  end
end