Sha256: 1a33058c4136b368feb2aa39e2eb53257109091d4634dbb8dc9109998311eda5
Contents?: true
Size: 1.15 KB
Versions: 1
Compression:
Stored size: 1.15 KB
Contents
require "savon" require "savon/ext/response" module Savon module Model VERSION = "0.1.2" class << self def response_pattern @response_pattern ||= [] end attr_writer :response_pattern end module ClassMethods def client(&block) @@client ||= Savon::Client.new &block end def endpoint(uri) client.wsdl.endpoint = uri end def namespace(uri) client.wsdl.namespace = uri end def actions(*args) args.each do |arg| define_class_action arg define_instance_action arg end end private def define_class_action(action) instance_eval %Q{ def #{action}(body = nil, &block) client.request :wsdl, :#{action}, :body => body, &block end } end def define_instance_action(action) class_eval %Q{ def #{action}(body = nil, &block) self.class.#{action} body, &block end } end end def self.included(base) base.extend ClassMethods end def client self.class.client end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
savon_model-0.1.2 | lib/savon/model.rb |