Class: Postal::Driver
- Inherits:
-
Object
- Object
- Postal::Driver
- Defined in:
- lib/postal/driver.rb
Constant Summary collapse
- DefaultEndpointUrl =
"http://www.mymailserver.com/"
Instance Attribute Summary collapse
-
#client ⇒ Object
Returns the value of attribute client.
Instance Method Summary collapse
- #createSingleMember(email, name, list_name) ⇒ Object
- #deleteMembers(args) ⇒ Object
- #importContent(content_id) ⇒ Object
-
#initialize(wsdl_url = nil, proxy = nil, username = nil, password = nil) ⇒ Driver
constructor
A new instance of Driver.
- #selectContent(args) ⇒ Object
- #selectLists(list_name, site_name) ⇒ Object
- #selectMembers(args) ⇒ Object
- #sendMailingDirect(email_addresses = [], member_ids = [], mail) ⇒ Object
- #soap_actions ⇒ Object
- #unsubscribe(list_name, id, email) ⇒ Object
- #updateMemberDemographics(list_name, id, email, demographics) ⇒ Object
Constructor Details
#initialize(wsdl_url = nil, proxy = nil, username = nil, password = nil) ⇒ Driver
Returns a new instance of Driver.
12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/postal/driver.rb', line 12 def initialize(wsdl_url = nil, proxy = nil, username = nil, password = nil) wsdl_url ||= DefaultEndpointUrl @client = Savon::Client.new do |wsdl, http| wsdl.document = wsdl_url if proxy http.proxy = proxy end if username && password http.auth.basic username, password end end end |
Instance Attribute Details
#client ⇒ Object
Returns the value of attribute client.
8 9 10 |
# File 'lib/postal/driver.rb', line 8 def client @client end |
Instance Method Details
#createSingleMember(email, name, list_name) ⇒ Object
39 40 41 42 43 44 45 46 |
# File 'lib/postal/driver.rb', line 39 def createSingleMember(email, name, list_name) response = @client.request :wsdl, :create_single_member do |soap| soap.body = { "EmailAddress" => email, "FullName" => name || "", "ListName" => list_name} end response.to_hash[:create_single_member_response][:return].to_i end |
#deleteMembers(args) ⇒ Object
49 50 51 52 53 54 |
# File 'lib/postal/driver.rb', line 49 def deleteMembers(args) response = @client.request :wsdl, :delete_members do |soap| soap.body = { "FilterCriteriaArray" => {'item' => args} } end response.to_hash[:delete_members_response][:return].to_i end |
#importContent(content_id) ⇒ Object
102 103 104 105 106 107 |
# File 'lib/postal/driver.rb', line 102 def importContent(content_id) response = @client.request :wsdl, :import_content do |soap| soap.body = { "ContentID" => content_id } end response.to_hash[:import_content_response][:return] end |
#selectContent(args) ⇒ Object
81 82 83 84 85 86 |
# File 'lib/postal/driver.rb', line 81 def selectContent(args) response = @client.request :wsdl, :select_content do |soap| soap.body = { "FilterCriteriaArray" => {'item' => args} } end response.to_hash[:select_content_response][:return] end |
#selectLists(list_name, site_name) ⇒ Object
89 90 91 92 93 94 95 96 97 98 99 |
# File 'lib/postal/driver.rb', line 89 def selectLists(list_name, site_name) response = @client.request :wsdl, :select_lists do |soap| soap.body = { "ListName" => list_name, "SiteName" => site_name} end if response.to_hash[:select_lists_response] return response.to_hash[:select_lists_response][:return] else return nil end end |
#selectMembers(args) ⇒ Object
31 32 33 34 35 36 |
# File 'lib/postal/driver.rb', line 31 def selectMembers(args) response = @client.request :wsdl, :select_members do |soap| soap.body = { "FilterCriteriaArray" => {'item' => args} } end response.to_hash[:select_members_response][:return] end |
#sendMailingDirect(email_addresses = [], member_ids = [], mail) ⇒ Object
110 111 112 113 114 115 116 117 |
# File 'lib/postal/driver.rb', line 110 def sendMailingDirect(email_addresses=[], member_ids=[], mail) response = @client.request :wsdl, :send_mailing_direct do |soap| soap.body = { "EmailAddressArray" => {:item => email_addresses}, "MemberIDArray" => {:item => member_ids}, "MailingStructIn" => mail } end response.to_hash[:send_mailing_direct_response][:return] end |
#soap_actions ⇒ Object
26 27 28 |
# File 'lib/postal/driver.rb', line 26 def soap_actions @client.wsdl.soap_actions end |
#unsubscribe(list_name, id, email) ⇒ Object
57 58 59 60 61 62 63 64 65 66 |
# File 'lib/postal/driver.rb', line 57 def unsubscribe(list_name, id, email) response = @client.request :wsdl, :unsubscribe do |soap| soap.body = { 'SimpleMemberStructArrayIn' => { 'item' => { 'ListName' => list_name, 'MemberID' => id, 'EmailAddress' => email }}} end response.to_hash[:unsubscribe_response][:return] end |
#updateMemberDemographics(list_name, id, email, demographics) ⇒ Object
69 70 71 72 73 74 75 76 77 78 |
# File 'lib/postal/driver.rb', line 69 def updateMemberDemographics(list_name, id, email, demographics) response = @client.request :wsdl, :update_member_demographics do |soap| soap.body = { "SimpleMemberStructIn" => { 'ListName' => list_name, 'MemberID' => id, 'EmailAddress' => email}, "DemographicsArray" => {'item' => demographics} } end response.to_hash[:update_member_demographics_response][:return] end |