46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# 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
|