module KayakoClient::XML::ClassMethods
Public Instance Methods
xml_backend()
click to toggle source
# File lib/kayako_client/xml/xml.rb, line 64 def xml_backend begin require 'kayako_client/xml/lib_xml' @@xml_backend ||= KayakoClient::LibXML rescue LoadError require 'kayako_client/xml/rexml_document' @@xml_backend ||= KayakoClient::REXMLDocument end end
xml_backend=(backend)
click to toggle source
# File lib/kayako_client/xml/xml.rb, line 46 def xml_backend=(backend) if backend.is_a?(String) raise ArgumentError, "invalid XML backend: #{backend}" unless backend =~ /^[A-Za-z_]+$/ file = backend.gsub(/([a-z])([A-Z])/, '\1_\2').gsub(/([A-Z])([A-Z][a-z])/, '\1_\2').downcase require "kayako_client/xml/#{file}" backend = KayakoClient.const_get(backend) end if backend.is_a?(Class) if backend.included_modules.include?(KayakoClient::XMLBackend) @@xml_backend = backend else raise ArgumentError, "invalid XML backend: #{backend.name}" end else raise ArgumentError, "unsupported XML backend" end end