patientslikeme-campaign_monitor 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.platform = Gem::Platform::RUBY
3
3
  s.name = 'campaign_monitor'
4
- s.version = "1.2.2"
4
+ s.version = "1.3.0"
5
5
  s.summary = 'Provides access to the Campaign Monitor API.'
6
6
  s.description = <<-EOF
7
7
  A simple wrapper class that provides basic access to the Campaign Monitor API.
@@ -180,6 +180,13 @@ class CampaignMonitor
180
180
  Result.new(Subscriber_Add("ListID" => list_id, "Email" => email, "Name" => name))
181
181
  end
182
182
 
183
+ def using_soap
184
+ driver = wsdl_driver_factory.create_rpc_driver
185
+ response = yield(driver)
186
+ driver.reset_stream
187
+
188
+ response
189
+ end
183
190
 
184
191
  # Encapsulates
185
192
  class SubscriberBounce
@@ -224,6 +231,12 @@ class CampaignMonitor
224
231
  end
225
232
  end
226
233
 
234
+ protected
235
+
236
+ def wsdl_driver_factory
237
+ SOAP::WSDLDriverFactory.new("#{api_url}?WSDL")
238
+ end
239
+
227
240
  end
228
241
 
229
242
  # If libxml is installed, we use the FasterXmlSimple library, that provides most of the functionality of XmlSimple
@@ -13,16 +13,6 @@ class CampaignMonitor
13
13
  end
14
14
  end
15
15
 
16
- def wsdl_driver_factory
17
- SOAP::WSDLDriverFactory.new("#{api_url}?WSDL")
18
- end
19
-
20
- def using_soap
21
- driver = wsdl_driver_factory.create_rpc_driver
22
- response = yield(driver)
23
- driver.reset_stream
24
- end
25
-
26
16
  def timestamp_format
27
17
  '%Y-%m-%d %H:%M:%S'
28
18
  end
@@ -54,9 +54,9 @@ class CampaignMonitor
54
54
  # name The subscriber's name.
55
55
  # custom_fields A hash of field name => value pairs.
56
56
  def add_subscriber_with_custom_fields(email, name, custom_fields)
57
- response = using_soap do |driver|
57
+ response = cm_client.using_soap do |driver|
58
58
  driver.addSubscriberWithCustomFields \
59
- :ApiKey => api_key,
59
+ :ApiKey => cm_client.api_key,
60
60
  :ListID => self.id,
61
61
  :Email => email,
62
62
  :Name => name,
@@ -70,9 +70,9 @@ class CampaignMonitor
70
70
  # name The subscriber's name.
71
71
  # custom_fields A hash of field name => value pairs.
72
72
  def add_and_resubscribe_with_custom_fields(email, name, custom_fields)
73
- response = using_soap do |driver|
73
+ response = cm_client.using_soap do |driver|
74
74
  driver.addAndResubscribeWithCustomFields \
75
- :ApiKey => api_key,
75
+ :ApiKey => cm_client.api_key,
76
76
  :ListID => self.id,
77
77
  :Email => email,
78
78
  :Name => name,
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: patientslikeme-campaign_monitor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Weiskotten