gnumarcelo-campaigning 0.2.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION.yml CHANGED
@@ -1,4 +1,4 @@
1
1
  ---
2
- :minor: 2
3
- :patch: 0
4
2
  :major: 0
3
+ :minor: 5
4
+ :patch: 0
@@ -1,65 +1,53 @@
1
1
  gem "soap4r", "~> 1.5.0"
2
2
  require File.expand_path(File.dirname(__FILE__)) + '/soap/defaultDriver.rb'
3
3
  require File.expand_path(File.dirname(__FILE__)) + '/types/client.rb'
4
+ require File.expand_path(File.dirname(__FILE__)) + '/types/campaign.rb'
4
5
 
5
- class Campaigning
6
+ class Connection
6
7
  DefaultEndpointUrl = "http://api.createsend.com/api/api.asmx"
7
- attr_reader :api_key
8
-
9
- #mattr_accessor :soap
10
- #self.soap = ::ApiSoap.new(DefaultEndpointUrl)
11
- # TODO: Consider change this to use something like "mattr_accessor" getter/setter methods at the class or module level.
12
- @@soap = ::ApiSoap.new(DefaultEndpointUrl)
13
- def soap
14
- @@soap
15
- end
16
-
17
- # Replace this API key with your own (http://www.campaignmonitor.com/api/)
8
+ attr_reader :api_key
9
+ attr_reader :soap
10
+
11
+
18
12
  def initialize(api_key=CAMPAIGN_MONITOR_API_KEY)
19
13
  @api_key = api_key
20
- end
14
+ @soap = Campaigning::ApiSoap.new(DefaultEndpointUrl)
15
+ end
21
16
 
22
17
 
23
- # Return a list of Clients
24
- #
25
- # Given an apiKey this method return a list of Clients for that user(apiKey).
26
- #
27
- # sample:
28
- #
29
- # cm = Campaigning.new(:apiKey => "54cae7f3aa1f35cb3bb5bc41756d8b7f")
30
- # clients = cm.clients
31
- # clients.each{ |c| puts c.clientID + " - " + c.name }
32
18
  def clients
33
- response = @@soap.getClients(:apiKey => @api_key)
34
- handle_request response.user_GetClientsResult
19
+ response = soap.getClients(:apiKey => @api_key)
20
+ Connection.handle_request response.user_GetClientsResult
35
21
  end
36
22
 
37
23
 
38
24
  def system_date
39
- handle_request @@soap.getSystemDate(:apiKey => @api_key).user_GetSystemDateResult
25
+ Connection.handle_request soap.getSystemDate(:apiKey => @api_key).user_GetSystemDateResult
40
26
  end
41
27
 
42
-
43
- def handle_request(response)
44
- if (response.is_a? Result)
28
+ def time_zones
29
+ Connection.handle_request soap.getTimezones(:apiKey => @api_key).user_GetTimezonesResult
30
+ end
31
+
32
+ # TODO: Define this method in a another file like a helper???
33
+ def Connection.handle_request(response)
34
+ if (response.class == Campaigning::Result && response.code != 0)
45
35
  raise response.code.to_s + " - " + response.message
46
36
  end
47
37
  response
48
38
  end
39
+
49
40
 
50
-
51
- ##
52
- # Sets the wiredump device the drivers.
53
41
  def setup_debug_mode(dev)
54
42
  if dev == true
55
43
  dev = STDERR
56
44
  end
57
- @@soap.wiredump_dev = dev
45
+ soap.wiredump_dev = dev
58
46
  end
59
47
 
60
48
 
61
49
  def endpoint_url(url)
62
- @@soap.endpoint_url = url
50
+ soap.endpoint_url = url
63
51
  end
64
52
 
65
- end
53
+ end
@@ -1,5 +1,8 @@
1
1
  require 'xsd/qname'
2
2
 
3
+ module Campaigning
4
+
5
+
3
6
  # {http://api.createsend.com/api/}ArrayOfSubscriberCustomField
4
7
  class ArrayOfSubscriberCustomField < ::Array
5
8
  end
@@ -113,7 +116,7 @@ end
113
116
  # {http://api.createsend.com/api/}SubscriberClick
114
117
  # emailAddress - SOAP::SOAPString
115
118
  # listID - SOAP::SOAPString
116
- # clickedLinks - ArrayOfSubscriberClickedLink
119
+ # clickedLinks - Campaigning::ArrayOfSubscriberClickedLink
117
120
  class SubscriberClick
118
121
  attr_accessor :emailAddress
119
122
  attr_accessor :listID
@@ -144,8 +147,8 @@ class SubscriberClickedLink
144
147
  end
145
148
 
146
149
  # {http://api.createsend.com/api/}ClientDetail
147
- # basicDetails - ClientBasicDetails
148
- # accessAndBilling - ClientAccessAndBilling
150
+ # basicDetails - Campaigning::ClientBasicDetails
151
+ # accessAndBilling - Campaigning::ClientAccessAndBilling
149
152
  class ClientDetail
150
153
  attr_accessor :basicDetails
151
154
  attr_accessor :accessAndBilling
@@ -247,8 +250,8 @@ end
247
250
  # {http://api.createsend.com/api/}ListCustomField
248
251
  # fieldName - SOAP::SOAPString
249
252
  # key - SOAP::SOAPString
250
- # dataType - SubscriberFieldDataType
251
- # fieldOptions - ArrayOfString
253
+ # dataType - Campaigning::SubscriberFieldDataType
254
+ # fieldOptions - Campaigning::ArrayOfString
252
255
  class ListCustomField
253
256
  attr_accessor :fieldName
254
257
  attr_accessor :key
@@ -294,7 +297,7 @@ end
294
297
  # name - SOAP::SOAPString
295
298
  # date - SOAP::SOAPString
296
299
  # state - SOAP::SOAPString
297
- # customFields - ArrayOfSubscriberCustomField
300
+ # customFields - Campaigning::ArrayOfSubscriberCustomField
298
301
  class Subscriber
299
302
  attr_accessor :emailAddress
300
303
  attr_accessor :name
@@ -360,7 +363,7 @@ end
360
363
  # listID - SOAP::SOAPString
361
364
  # email - SOAP::SOAPString
362
365
  # name - SOAP::SOAPString
363
- # customFields - ArrayOfSubscriberCustomField
366
+ # customFields - Campaigning::ArrayOfSubscriberCustomField
364
367
  class SubscriberAddWithCustomFields
365
368
  attr_accessor :apiKey
366
369
  attr_accessor :listID
@@ -378,7 +381,7 @@ class SubscriberAddWithCustomFields
378
381
  end
379
382
 
380
383
  # {http://api.createsend.com/api/}Subscriber.AddWithCustomFieldsResponse
381
- # subscriber_AddWithCustomFieldsResult - Result
384
+ # subscriber_AddWithCustomFieldsResult - Campaigning::Result
382
385
  class SubscriberAddWithCustomFieldsResponse
383
386
  attr_accessor :subscriber_AddWithCustomFieldsResult
384
387
 
@@ -392,7 +395,7 @@ end
392
395
  # listID - SOAP::SOAPString
393
396
  # email - SOAP::SOAPString
394
397
  # name - SOAP::SOAPString
395
- # customFields - ArrayOfSubscriberCustomField
398
+ # customFields - Campaigning::ArrayOfSubscriberCustomField
396
399
  class SubscriberAddAndResubscribeWithCustomFields
397
400
  attr_accessor :apiKey
398
401
  attr_accessor :listID
@@ -410,7 +413,7 @@ class SubscriberAddAndResubscribeWithCustomFields
410
413
  end
411
414
 
412
415
  # {http://api.createsend.com/api/}Subscriber.AddAndResubscribeWithCustomFieldsResponse
413
- # subscriber_AddAndResubscribeWithCustomFieldsResult - Result
416
+ # subscriber_AddAndResubscribeWithCustomFieldsResult - Campaigning::Result
414
417
  class SubscriberAddAndResubscribeWithCustomFieldsResponse
415
418
  attr_accessor :subscriber_AddAndResubscribeWithCustomFieldsResult
416
419
 
@@ -439,7 +442,7 @@ class SubscriberAdd
439
442
  end
440
443
 
441
444
  # {http://api.createsend.com/api/}Subscriber.AddResponse
442
- # subscriber_AddResult - Result
445
+ # subscriber_AddResult - Campaigning::Result
443
446
  class SubscriberAddResponse
444
447
  attr_accessor :subscriber_AddResult
445
448
 
@@ -468,7 +471,7 @@ class SubscriberAddAndResubscribe
468
471
  end
469
472
 
470
473
  # {http://api.createsend.com/api/}Subscriber.AddAndResubscribeResponse
471
- # subscriber_AddAndResubscribeResult - Result
474
+ # subscriber_AddAndResubscribeResult - Campaigning::Result
472
475
  class SubscriberAddAndResubscribeResponse
473
476
  attr_accessor :subscriber_AddAndResubscribeResult
474
477
 
@@ -494,7 +497,7 @@ class SubscriberUnsubscribe_
494
497
  end
495
498
 
496
499
  # {http://api.createsend.com/api/}Subscriber.UnsubscribeResponse
497
- # subscriber_UnsubscribeResult - Result
500
+ # subscriber_UnsubscribeResult - Campaigning::Result
498
501
  class SubscriberUnsubscribeResponse
499
502
  attr_accessor :subscriber_UnsubscribeResult
500
503
 
@@ -694,7 +697,7 @@ class ListUpdate
694
697
  end
695
698
 
696
699
  # {http://api.createsend.com/api/}List.UpdateResponse
697
- # list_UpdateResult - Result
700
+ # list_UpdateResult - Campaigning::Result
698
701
  class ListUpdateResponse
699
702
  attr_accessor :list_UpdateResult
700
703
 
@@ -740,7 +743,7 @@ class ListDelete
740
743
  end
741
744
 
742
745
  # {http://api.createsend.com/api/}List.DeleteResponse
743
- # list_DeleteResult - Result
746
+ # list_DeleteResult - Campaigning::Result
744
747
  class ListDeleteResponse
745
748
  attr_accessor :list_DeleteResult
746
749
 
@@ -789,7 +792,7 @@ class ListDeleteCustomField
789
792
  end
790
793
 
791
794
  # {http://api.createsend.com/api/}List.DeleteCustomFieldResponse
792
- # list_DeleteCustomFieldResult - Result
795
+ # list_DeleteCustomFieldResult - Campaigning::Result
793
796
  class ListDeleteCustomFieldResponse
794
797
  attr_accessor :list_DeleteCustomFieldResult
795
798
 
@@ -802,7 +805,7 @@ end
802
805
  # apiKey - SOAP::SOAPString
803
806
  # listID - SOAP::SOAPString
804
807
  # fieldName - SOAP::SOAPString
805
- # dataType - SubscriberFieldDataType
808
+ # dataType - Campaigning::SubscriberFieldDataType
806
809
  # options - SOAP::SOAPString
807
810
  class ListCreateCustomField
808
811
  attr_accessor :apiKey
@@ -821,7 +824,7 @@ class ListCreateCustomField
821
824
  end
822
825
 
823
826
  # {http://api.createsend.com/api/}List.CreateCustomFieldResponse
824
- # list_CreateCustomFieldResult - Result
827
+ # list_CreateCustomFieldResult - Campaigning::Result
825
828
  class ListCreateCustomFieldResponse
826
829
  attr_accessor :list_CreateCustomFieldResult
827
830
 
@@ -1033,7 +1036,7 @@ class ClientUpdateAccessAndBilling
1033
1036
  end
1034
1037
 
1035
1038
  # {http://api.createsend.com/api/}Client.UpdateAccessAndBillingResponse
1036
- # client_UpdateAccessAndBillingResult - Result
1039
+ # client_UpdateAccessAndBillingResult - Campaigning::Result
1037
1040
  class ClientUpdateAccessAndBillingResponse
1038
1041
  attr_accessor :client_UpdateAccessAndBillingResult
1039
1042
 
@@ -1079,7 +1082,7 @@ class ClientDelete
1079
1082
  end
1080
1083
 
1081
1084
  # {http://api.createsend.com/api/}Client.DeleteResponse
1082
- # client_DeleteResult - Result
1085
+ # client_DeleteResult - Campaigning::Result
1083
1086
  class ClientDeleteResponse
1084
1087
  attr_accessor :client_DeleteResult
1085
1088
 
@@ -1316,8 +1319,8 @@ end
1316
1319
  # replyTo - SOAP::SOAPString
1317
1320
  # htmlUrl - SOAP::SOAPString
1318
1321
  # textUrl - SOAP::SOAPString
1319
- # subscriberListIDs - ArrayOfString
1320
- # listSegments - ArrayOfList
1322
+ # subscriberListIDs - Campaigning::ArrayOfString
1323
+ # listSegments - Campaigning::ArrayOfList
1321
1324
  class CampaignCreate
1322
1325
  attr_accessor :apiKey
1323
1326
  attr_accessor :clientID
@@ -1376,7 +1379,7 @@ class CampaignSend
1376
1379
  end
1377
1380
 
1378
1381
  # {http://api.createsend.com/api/}Campaign.SendResponse
1379
- # campaign_SendResult - Result
1382
+ # campaign_SendResult - Campaigning::Result
1380
1383
  class CampaignSendResponse
1381
1384
  attr_accessor :campaign_SendResult
1382
1385
 
@@ -1391,3 +1394,6 @@ class AnyType < ::String
1391
1394
  super
1392
1395
  end
1393
1396
  end
1397
+
1398
+
1399
+ end
@@ -2,6 +2,8 @@ require File.expand_path(File.dirname(__FILE__)) + '/default.rb'
2
2
  require File.expand_path(File.dirname(__FILE__)) + '/defaultMappingRegistry.rb'
3
3
  require 'soap/rpc/driver'
4
4
 
5
+ module Campaigning
6
+
5
7
  class ApiSoap < ::SOAP::RPC::Driver
6
8
  DefaultEndpointUrl = "http://api.createsend.com/api/api.asmx"
7
9
 
@@ -343,3 +345,5 @@ end
343
345
 
344
346
 
345
347
 
348
+
349
+ end