Sha256: 3bf276af9d2deb609eee789f245d80fbf131eddb404b8ef5b3e1f4a2961cb80b
Contents?: true
Size: 1.73 KB
Versions: 2
Compression:
Stored size: 1.73 KB
Contents
require 'wash_out/configurable' require 'wash_out/soap_config' require 'wash_out/soap' require 'wash_out/engine' require 'wash_out/param' require 'wash_out/dispatcher' require 'wash_out/soap' require 'wash_out/router' require 'wash_out/type' require 'wash_out/model' require 'wash_out/wsse' require 'wash_out/middleware' module WashOut def self.root File.expand_path '../..', __FILE__ end end module ActionDispatch::Routing class Mapper # Adds the routes for a SOAP endpoint at +controller+. def wash_out(controller_name, options={}) options.each_with_index { |key, value| @scope[key] = value } if @scope controller_class_name = [options[:module], controller_name].compact.join("/") match "#{controller_name}/wsdl" => "#{controller_name}#_generate_wsdl", :via => :get, :format => false match "#{controller_name}/action" => WashOut::Router.new(controller_class_name), :via => [:get, :post], :defaults => { :controller => controller_class_name, :action => '_action' }, :format => false end end end Mime::Type.register "application/soap+xml", :soap ActiveRecord::Base.send :extend, WashOut::Model if defined?(ActiveRecord) ActionController::Renderers.add :soap do |what, options| _render_soap(what, options) end ActionController::Base.class_eval do # Define a SOAP service. The function has no required +options+: # but allow any of :parser, :namespace, :wsdl_style, :snakecase_input, # :camelize_wsdl, :wsse_username, :wsse_password and :catch_xml_errors. # # Any of the the params provided allows for overriding the defaults # (like supporting multiple namespaces instead of application wide such) # def self.soap_service(options={}) include WashOut::SOAP self.soap_config = options end end
Version data entries
2 entries across 2 versions & 2 rubygems
Version | Path |
---|---|
wash-out-0.10.1 | lib/wash_out.rb |
wash_out-0.10.0 | lib/wash_out.rb |