gnumarcelo-campaigning 0.6.0 → 0.7.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.
- data/README.rdoc +1 -1
- data/VERSION.yml +1 -1
- data/lib/campaigning/campaigning.rb +18 -18
- data/lib/campaigning/soap/{default.rb → generated/default.rb} +0 -0
- data/lib/campaigning/soap/{defaultDriver.rb → generated/defaultDriver.rb} +0 -0
- data/lib/campaigning/soap/{defaultMappingRegistry.rb → generated/defaultMappingRegistry.rb} +0 -0
- data/lib/campaigning/soap/soap_driver.rb +19 -0
- data/lib/campaigning/types/campaign.rb +9 -9
- data/lib/campaigning/types/client.rb +15 -30
- data/lib/campaigning/types/list.rb +14 -17
- data/lib/campaigning/types/subscriber.rb +23 -15
- data/test/campaigning_test.rb +26 -32
- metadata +6 -5
data/README.rdoc
CHANGED
data/VERSION.yml
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
gem "soap4r", "~> 1.5.0"
|
2
|
-
require File.expand_path(File.dirname(__FILE__)) + '/soap/
|
2
|
+
require File.expand_path(File.dirname(__FILE__)) + '/soap/soap_driver.rb'
|
3
3
|
require File.expand_path(File.dirname(__FILE__)) + '/types/client.rb'
|
4
4
|
require File.expand_path(File.dirname(__FILE__)) + '/types/campaign.rb'
|
5
5
|
require File.expand_path(File.dirname(__FILE__)) + '/types/subscriber.rb'
|
6
6
|
require File.expand_path(File.dirname(__FILE__)) + '/types/list.rb'
|
7
7
|
require File.expand_path(File.dirname(__FILE__)) + '/helpers/helpers.rb'
|
8
8
|
|
9
|
-
|
9
|
+
module Campaigning
|
10
|
+
class Base
|
10
11
|
include Helpers
|
11
|
-
DefaultEndpointUrl = "http://api.createsend.com/api/api.asmx"
|
12
12
|
attr_reader :api_key
|
13
|
-
attr_reader :soap
|
14
13
|
|
15
|
-
def initialize(
|
16
|
-
|
17
|
-
|
18
|
-
|
14
|
+
def initialize(options = {})
|
15
|
+
options = {
|
16
|
+
:api_key => CAMPAIGN_MONITOR_API_KEY,
|
17
|
+
:debug => false
|
18
|
+
}.merge(options)
|
19
|
+
@api_key = options[:api_key]
|
20
|
+
@soap = Campaigning::SOAPDriver.instance.get_driver
|
21
|
+
setup_debug_mode options[:debug]
|
19
22
|
end
|
20
23
|
|
21
24
|
def clients
|
22
|
-
response = soap.getClients(:apiKey => @api_key)
|
23
|
-
handle_request response.user_GetClientsResult
|
25
|
+
response = @soap.getClients(:apiKey => @api_key)
|
26
|
+
clients = handle_request response.user_GetClientsResult
|
27
|
+
clients.collect {|client| Client.new(client.clientID, client.name)}
|
24
28
|
end
|
25
29
|
|
26
30
|
def system_date
|
27
|
-
handle_request soap.getSystemDate(:apiKey => @api_key).user_GetSystemDateResult
|
31
|
+
handle_request @soap.getSystemDate(:apiKey => @api_key).user_GetSystemDateResult
|
28
32
|
end
|
29
33
|
|
30
34
|
def time_zones
|
31
|
-
handle_request soap.getTimezones(:apiKey => @api_key).user_GetTimezonesResult
|
35
|
+
handle_request @soap.getTimezones(:apiKey => @api_key).user_GetTimezonesResult
|
32
36
|
end
|
33
37
|
|
34
38
|
def setup_debug_mode(dev)
|
35
|
-
|
36
|
-
soap.wiredump_dev = dev
|
37
|
-
end
|
38
|
-
|
39
|
-
def endpoint_url(url)
|
40
|
-
soap.endpoint_url = url
|
39
|
+
Campaigning::SOAPDriver.instance.setup_debug_mode dev
|
41
40
|
end
|
42
41
|
|
43
42
|
end
|
43
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__)) + '/generated/defaultDriver.rb'
|
2
|
+
require 'singleton'
|
3
|
+
|
4
|
+
module Campaigning
|
5
|
+
class SOAPDriver #It could be a module
|
6
|
+
include Singleton
|
7
|
+
DefaultEndpointUrl = "http://api.createsend.com/api/api.asmx"
|
8
|
+
|
9
|
+
def get_driver
|
10
|
+
@driver ||= Campaigning::ApiSoap.new(DefaultEndpointUrl)
|
11
|
+
end
|
12
|
+
|
13
|
+
def setup_debug_mode(dev)
|
14
|
+
dev = STDERR if dev == true
|
15
|
+
@driver.wiredump_dev = dev
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
@@ -17,11 +17,11 @@ module Campaigning
|
|
17
17
|
@subject = subject
|
18
18
|
@sentDate = sentDate
|
19
19
|
@totalRecipients = totalRecipients
|
20
|
-
@
|
20
|
+
@soap = Campaigning::SOAPDriver.instance.get_driver
|
21
21
|
end
|
22
22
|
|
23
23
|
def self.create(params)
|
24
|
-
response =
|
24
|
+
response = Campaigning::SOAPDriver.instance.get_driver.createCampaign(
|
25
25
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
26
26
|
:clientID => params[:clientID],
|
27
27
|
:campaignName => params[:campaignName],
|
@@ -40,37 +40,37 @@ module Campaigning
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def bounces
|
43
|
-
response = @
|
43
|
+
response = @soap.getCampaignBounces(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
|
44
44
|
handle_request response.campaign_GetBouncesResult
|
45
45
|
end
|
46
46
|
|
47
47
|
def lists
|
48
|
-
response = @
|
48
|
+
response = @soap.getCampaignLists(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
|
49
49
|
handle_request response.campaign_GetListsResult
|
50
50
|
end
|
51
51
|
|
52
52
|
def opens
|
53
|
-
response = @
|
53
|
+
response = @soap.getCampaignOpens(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
|
54
54
|
handle_request response.campaign_GetOpensResult
|
55
55
|
end
|
56
56
|
|
57
57
|
def subscriber_clicks
|
58
|
-
response = @
|
58
|
+
response = @soap.getSubscriberClicks(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
|
59
59
|
handle_request response.campaign_GetSubscriberClicksResult
|
60
60
|
end
|
61
61
|
|
62
62
|
def summary
|
63
|
-
response = @
|
63
|
+
response = @soap.getCampaignSummary(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
|
64
64
|
handle_request response.campaign_GetSummaryResult
|
65
65
|
end
|
66
66
|
|
67
67
|
def unsubscribes
|
68
|
-
response = @
|
68
|
+
response = @soap.getCampaignUnsubscribes(:apiKey => CAMPAIGN_MONITOR_API_KEY, :campaignID => @campaignID )
|
69
69
|
handle_request response.campaign_GetUnsubscribesResult
|
70
70
|
end
|
71
71
|
|
72
72
|
def send(params)
|
73
|
-
response = @
|
73
|
+
response = @soap.sendCampaign(
|
74
74
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
75
75
|
:campaignID => @campaignID,
|
76
76
|
:confirmationEmail => params[:confirmation_email],
|
@@ -10,28 +10,14 @@ class Client
|
|
10
10
|
attr_accessor :name
|
11
11
|
|
12
12
|
def initialize(clientID = nil, name = nil)
|
13
|
-
@cm = Connection.new
|
14
13
|
@clientID = clientID
|
15
14
|
@name = name
|
15
|
+
#@cm = Campaigning::Base.new
|
16
|
+
@soap = Campaigning::SOAPDriver.instance.get_driver
|
16
17
|
end
|
17
18
|
|
18
|
-
|
19
|
-
# def create
|
20
|
-
# hash = {
|
21
|
-
# :companyName => @company_name,
|
22
|
-
# :contactName => @name,
|
23
|
-
# :emailAddress => @email_address,
|
24
|
-
# :country => @country,
|
25
|
-
# :timezone => @time_zone
|
26
|
-
# }
|
27
|
-
#
|
28
|
-
# generate a hash
|
29
|
-
# send @cm.createClient request to campaign monitor
|
30
|
-
# @clientID = response.client_CreateResult
|
31
|
-
# end
|
32
|
-
|
33
19
|
def lists
|
34
|
-
response = @
|
20
|
+
response = @soap.getClientLists(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => @clientID)
|
35
21
|
lists = handle_request response.client_GetListsResult
|
36
22
|
lists.collect {|list| List.new(list.listID, list.name)}
|
37
23
|
end
|
@@ -43,13 +29,13 @@ class Client
|
|
43
29
|
# TODO: Refactor this method and increase performance?
|
44
30
|
# TODO: Tha campaign monitor permit two users with the same name, what to do?
|
45
31
|
def self.find_by_name(name)
|
46
|
-
client_list = Helpers.handle_request
|
32
|
+
client_list = Helpers.handle_request Campaigning::Base.new.clients
|
47
33
|
client_found = client_list.find {|client| name == client.name}
|
48
34
|
Client.new(client_found.clientID, client_found.name) if client_found
|
49
35
|
end
|
50
36
|
|
51
37
|
def self.create(params)
|
52
|
-
response =
|
38
|
+
response = Campaigning::SOAPDriver.instance.get_driver.createClient(
|
53
39
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
54
40
|
:companyName => params[:company_name],
|
55
41
|
:contactName => params[:contact_name],
|
@@ -57,7 +43,7 @@ class Client
|
|
57
43
|
:country => params[:country],
|
58
44
|
:timezone => params[:time_zone]
|
59
45
|
)
|
60
|
-
Client.new(Helpers.handle_request
|
46
|
+
Client.new( Helpers.handle_request(response.client_CreateResult) )
|
61
47
|
end
|
62
48
|
|
63
49
|
def delete
|
@@ -67,26 +53,25 @@ class Client
|
|
67
53
|
end
|
68
54
|
|
69
55
|
def self.delete(client_id)
|
70
|
-
response =
|
56
|
+
response = Campaigning::SOAPDriver.instance.get_driver.deleteClient(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => client_id)
|
71
57
|
Helpers.handle_request response.client_DeleteResult
|
72
58
|
end
|
73
59
|
|
74
60
|
def segments
|
75
|
-
response = @
|
61
|
+
response = @soap.getClientSegments(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => @clientID )
|
76
62
|
handle_request response.client_GetSegmentsResult
|
77
63
|
end
|
78
64
|
|
79
65
|
# TODO: Refactor this method
|
80
|
-
def find_campaigns_by_subject(subject
|
66
|
+
def find_campaigns_by_subject(subject)
|
81
67
|
arr = []
|
82
|
-
return campaigns.find {|campaign| subject == campaign.subject} if params[:
|
83
|
-
|
68
|
+
#return campaigns.find {|campaign| subject == campaign.subject} if params[:single]
|
84
69
|
campaigns.each { |campaign| arr << campaign if campaign.subject == subject }
|
85
70
|
arr
|
86
71
|
end
|
87
72
|
|
88
73
|
def campaigns
|
89
|
-
response = @
|
74
|
+
response = @soap.getClientCampaigns(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => @clientID )
|
90
75
|
campaign_list = handle_request response.client_GetCampaignsResult
|
91
76
|
campaign_list.collect do |campaign|
|
92
77
|
Campaign.new(campaign.campaignID, campaign.subject, campaign.sentDate, campaign.totalRecipients)
|
@@ -94,17 +79,17 @@ class Client
|
|
94
79
|
end
|
95
80
|
|
96
81
|
def details
|
97
|
-
response = @
|
82
|
+
response = @soap.getClientDetail(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => @clientID )
|
98
83
|
handle_request response.client_GetDetailResult
|
99
84
|
end
|
100
85
|
|
101
86
|
def suppression_list
|
102
|
-
response = @
|
87
|
+
response = @soap.getClientSuppressionList(:apiKey => CAMPAIGN_MONITOR_API_KEY, :clientID => @clientID )
|
103
88
|
handle_request response.client_GetSuppressionListResult
|
104
89
|
end
|
105
90
|
|
106
91
|
def update_access_and_billing(params)
|
107
|
-
response = @
|
92
|
+
response = @soap.updateClientAccessAndBilling(
|
108
93
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
109
94
|
:clientID => @clientID,
|
110
95
|
:accessLevel => params[:access_level],
|
@@ -120,7 +105,7 @@ class Client
|
|
120
105
|
end
|
121
106
|
|
122
107
|
def update_basics(params)
|
123
|
-
response = @
|
108
|
+
response = @soap.updateClientBasics(
|
124
109
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
125
110
|
:clientID => @clientID,
|
126
111
|
:companyName => params[:company_name],
|
@@ -13,31 +13,29 @@ module Campaigning
|
|
13
13
|
def initialize(listID = nil, name = nil)
|
14
14
|
@listID = listID
|
15
15
|
@name = name
|
16
|
-
@
|
16
|
+
@soap = Campaigning::SOAPDriver.instance.get_driver
|
17
17
|
end
|
18
18
|
|
19
19
|
def self.create(params)
|
20
|
-
|
21
|
-
response = Connection.new.soap.createList(
|
20
|
+
response = Campaigning::SOAPDriver.instance.get_driver.createList(
|
22
21
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
23
22
|
:clientID => params[:client_id],
|
24
23
|
:title => params[:title],
|
25
|
-
:unsubscribePage => params
|
24
|
+
:unsubscribePage => params.fetch(:unsubscribe_page, ""),
|
26
25
|
:confirmOptIn => params[:comfirm_opt_in],
|
27
|
-
:confirmationSuccessPage => params
|
28
|
-
)
|
26
|
+
:confirmationSuccessPage => params.fetch(:confirmation_success_page, "")
|
27
|
+
)
|
29
28
|
new_list_id = Helpers.handle_request response.list_CreateResult
|
30
29
|
List.new(new_list_id, params[:title])
|
31
30
|
end
|
32
31
|
|
33
32
|
def create_custom_field(params)
|
34
|
-
|
35
|
-
response = @cm.soap.createListCustomField(
|
33
|
+
response = @soap.createListCustomField(
|
36
34
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
37
35
|
:listID => @listID,
|
38
36
|
:fieldName => params[:field_name],
|
39
37
|
:dataType => params[:data_type],
|
40
|
-
:options => params
|
38
|
+
:options => params.fetch(:options, "")
|
41
39
|
)
|
42
40
|
handle_request response.list_CreateCustomFieldResult
|
43
41
|
end
|
@@ -48,35 +46,34 @@ module Campaigning
|
|
48
46
|
end
|
49
47
|
|
50
48
|
def self.delete(list_id)
|
51
|
-
response =
|
49
|
+
response = Campaigning::SOAPDriver.instance.get_driver.deleteList(:apiKey => CAMPAIGN_MONITOR_API_KEY, :listID => list_id)
|
52
50
|
Helpers.handle_request response.list_DeleteResult
|
53
51
|
end
|
54
52
|
|
55
53
|
def delete_custom_field(key)
|
56
|
-
response = @
|
54
|
+
response = @soap.deleteListCustomField(:apiKey => CAMPAIGN_MONITOR_API_KEY, :listID => @listID, :key => '['+key+']')
|
57
55
|
handle_request response.list_DeleteCustomFieldResult
|
58
56
|
end
|
59
57
|
|
60
58
|
def custom_fields
|
61
|
-
response = @
|
59
|
+
response = @soap.getListCustomFields(:apiKey => CAMPAIGN_MONITOR_API_KEY, :listID => @listID)
|
62
60
|
handle_request response.list_GetCustomFieldsResult
|
63
61
|
end
|
64
62
|
|
65
63
|
def details
|
66
|
-
response = @
|
64
|
+
response = @soap.getListDetail(:apiKey => CAMPAIGN_MONITOR_API_KEY, :listID => @listID)
|
67
65
|
handle_request response.list_GetDetailResult
|
68
66
|
end
|
69
67
|
|
70
68
|
|
71
69
|
def update(params)
|
72
|
-
|
73
|
-
response = @cm.soap.updateList(
|
70
|
+
response = @soap.updateList(
|
74
71
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
75
72
|
:listID => @listID,
|
76
73
|
:title => params[:title],
|
77
|
-
:unsubscribePage => params
|
74
|
+
:unsubscribePage => params.fetch(:unsubscribe_page, ""),
|
78
75
|
:confirmOptIn => params[:comfirm_opt_in],
|
79
|
-
:confirmationSuccessPage => params
|
76
|
+
:confirmationSuccessPage => params.fetch(:confirmation_success_page, "")
|
80
77
|
)
|
81
78
|
handle_request response.list_UpdateResult
|
82
79
|
end
|
@@ -18,11 +18,11 @@ class Subscriber
|
|
18
18
|
@date = date
|
19
19
|
@state = state
|
20
20
|
@customFields = customFields
|
21
|
-
@
|
21
|
+
@soap = Campaigning::SOAPDriver.instance.get_driver
|
22
22
|
end
|
23
23
|
|
24
24
|
def add(list_id)
|
25
|
-
response = @
|
25
|
+
response = @soap.addSubscriber(
|
26
26
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
27
27
|
:listID => list_id,
|
28
28
|
:email => @emailAddress,
|
@@ -32,7 +32,7 @@ class Subscriber
|
|
32
32
|
end
|
33
33
|
|
34
34
|
def add_and_resubscribe(list_id)
|
35
|
-
response = @
|
35
|
+
response = @soap.addAndResubscribe(
|
36
36
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
37
37
|
:listID => list_id,
|
38
38
|
:email => @emailAddress,
|
@@ -42,18 +42,18 @@ class Subscriber
|
|
42
42
|
end
|
43
43
|
|
44
44
|
def add_and_resubscribe_with_custom_fields(list_id, custom_fields)
|
45
|
-
response = @
|
45
|
+
response = @soap.addAndResubscribeWithCustomFields(
|
46
46
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
47
47
|
:listID => list_id,
|
48
48
|
:email => @emailAddress,
|
49
49
|
:name => @name,
|
50
50
|
:customFields => custom_fields_array(custom_fields)
|
51
51
|
)
|
52
|
-
|
52
|
+
handle_request response.subscriber_AddAndResubscribeWithCustomFieldsResult
|
53
53
|
end
|
54
54
|
|
55
55
|
def add_with_custom_fields(list_id, custom_fields)
|
56
|
-
response = @
|
56
|
+
response = @soap.addSubscriberWithCustomFields(
|
57
57
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
58
58
|
:listID => list_id,
|
59
59
|
:email => @emailAddress,
|
@@ -64,17 +64,21 @@ class Subscriber
|
|
64
64
|
end
|
65
65
|
|
66
66
|
def unsubscribe(list_id)
|
67
|
-
|
67
|
+
Subscriber.unsubscribe(@emailAddress, list_id)
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.unsubscribe(email, list_id)
|
71
|
+
response = Campaigning::SOAPDriver.instance.get_driver.unsubscribe(
|
68
72
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
69
73
|
:listID => list_id,
|
70
|
-
:email =>
|
74
|
+
:email => email
|
71
75
|
)
|
72
|
-
handle_request response.subscriber_UnsubscribeResult
|
76
|
+
Helpers.handle_request response.subscriber_UnsubscribeResult
|
73
77
|
end
|
74
78
|
|
75
79
|
# TODO: May I move this method to List type?
|
76
80
|
def self.active_subscribers(list_id, datetime)
|
77
|
-
response =
|
81
|
+
response = Campaigning::SOAPDriver.instance.get_driver.getSubscribers(
|
78
82
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
79
83
|
:listID => list_id,
|
80
84
|
:date => datetime.strftime('%Y-%m-%d %H:%M:%S') # TODO: Move that to a helper method
|
@@ -84,7 +88,7 @@ class Subscriber
|
|
84
88
|
|
85
89
|
# TODO: May I move this method to List type?
|
86
90
|
def self.get_unsubscribed(list_id, datetime)
|
87
|
-
response =
|
91
|
+
response = Campaigning::SOAPDriver.instance.get_driver.getUnsubscribed(
|
88
92
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
89
93
|
:listID => list_id,
|
90
94
|
:date => datetime.strftime('%Y-%m-%d %H:%M:%S') # TODO: Move that to a helper method
|
@@ -93,18 +97,22 @@ class Subscriber
|
|
93
97
|
end
|
94
98
|
|
95
99
|
def is_subscribed?(list_id)
|
96
|
-
|
100
|
+
Subscriber.is_subscribed?(@emailAddress, list_id)
|
101
|
+
end
|
102
|
+
|
103
|
+
def self.is_subscribed?(email, list_id)
|
104
|
+
response = Campaigning::SOAPDriver.instance.get_driver.getIsSubscribed(
|
97
105
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
98
106
|
:listID => list_id,
|
99
|
-
:email =>
|
107
|
+
:email => email
|
100
108
|
)
|
101
|
-
response = handle_request response.subscribers_GetIsSubscribedResult
|
109
|
+
response = Helpers.handle_request response.subscribers_GetIsSubscribedResult
|
102
110
|
response == 'True' ? true : false
|
103
111
|
end
|
104
112
|
|
105
113
|
# TODO: Create a mehod to handle with custom fields returned like (names from "State Name" to "state_name")
|
106
114
|
def self.get_single_subscriber(list_id, email_address)
|
107
|
-
response =
|
115
|
+
response = Campaigning::SOAPDriver.instance.get_driver.getSingleSubscriber(
|
108
116
|
:apiKey => CAMPAIGN_MONITOR_API_KEY,
|
109
117
|
:listID => list_id,
|
110
118
|
:emailAddress => email_address
|
data/test/campaigning_test.rb
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
3
|
# Replace this API key with your own (http://www.campaignmonitor.com/api/)
|
4
|
-
CAMPAIGN_MONITOR_API_KEY = '
|
4
|
+
CAMPAIGN_MONITOR_API_KEY = '__PUT__YOUR__API__KEY__HERE__'
|
5
5
|
CLIENT_ID = 'd7acfd4cd2ffffc2d86b8903d18a1276'
|
6
6
|
CLIENT_TWO_ID = '730acd1e8d27d56bdb87e88685613d72'
|
7
7
|
|
8
8
|
class CampaigningTest < Test::Unit::TestCase
|
9
9
|
|
10
10
|
def setup
|
11
|
-
@cm =
|
11
|
+
@cm = Campaigning::Base.new
|
12
12
|
end
|
13
|
-
|
14
|
-
|
13
|
+
|
15
14
|
# def test_clients
|
16
15
|
# clients = @cm.clients
|
17
16
|
# assert clients.length > 0
|
@@ -27,9 +26,9 @@ class CampaigningTest < Test::Unit::TestCase
|
|
27
26
|
#
|
28
27
|
# def test_client_create
|
29
28
|
# client_created = Campaigning::Client.create(
|
30
|
-
# :company_name => "Orange Company
|
31
|
-
# :contact_name => "Oswald
|
32
|
-
# :email_address => "
|
29
|
+
# :company_name => "Orange Company 15",
|
30
|
+
# :contact_name => "Oswald Green15",
|
31
|
+
# :email_address => "og15@user.com",
|
33
32
|
# :country => "Ireland",
|
34
33
|
# :time_zone => @cm.time_zones[1]
|
35
34
|
# )
|
@@ -54,17 +53,18 @@ class CampaigningTest < Test::Unit::TestCase
|
|
54
53
|
# end
|
55
54
|
#
|
56
55
|
#
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
56
|
+
def test_find_client_by_name
|
57
|
+
client = Campaigning::Client.find_by_name("Client One Company")
|
58
|
+
puts client.inspect
|
59
|
+
# assert client != nil && client.name == "Client One Company"
|
60
|
+
end
|
61
61
|
#
|
62
62
|
#
|
63
63
|
# def test_get_client_campaigns
|
64
64
|
# client = Campaigning::Client.find_by_name("Client One Company")
|
65
65
|
# puts client.campaigns.inspect
|
66
66
|
# end
|
67
|
-
|
67
|
+
|
68
68
|
# def test_get_client_details
|
69
69
|
# client = Campaigning::Client.find_by_name("Client Two ")
|
70
70
|
# puts client.details.inspect
|
@@ -122,8 +122,8 @@ class CampaigningTest < Test::Unit::TestCase
|
|
122
122
|
# assert !sys_date.nil?
|
123
123
|
# puts sys_date
|
124
124
|
# end
|
125
|
-
|
126
|
-
|
125
|
+
#
|
126
|
+
#
|
127
127
|
# def test_campaign_create
|
128
128
|
# client = Campaigning::Client.find_by_name("Client One Company")
|
129
129
|
# response = Campaigning::Campaign.create(
|
@@ -156,19 +156,13 @@ class CampaigningTest < Test::Unit::TestCase
|
|
156
156
|
# client = Campaigning::Client.find_by_name("Client One Company")
|
157
157
|
# puts client.campaigns[0].opens
|
158
158
|
# end
|
159
|
-
|
159
|
+
#
|
160
160
|
# def test_campaign_find_campaigns_by_subject
|
161
161
|
# client = Campaigning::Client.find_by_name("Client One Company")
|
162
162
|
# campaigns = client.find_campaigns_by_subject("Campaign to BOUNCE")
|
163
163
|
# assert campaign.length > 0
|
164
164
|
# end
|
165
|
-
|
166
|
-
# def test_campaign_find_campaigns_by_subject_unique
|
167
|
-
# client = Campaigning::Client.find_by_name("Client One Company")
|
168
|
-
# campaign = client.find_campaigns_by_subject("Campaign to BOUNCE")
|
169
|
-
# puts campaign.inspect
|
170
|
-
# #assert campaign > 0
|
171
|
-
# end
|
165
|
+
#
|
172
166
|
#
|
173
167
|
# def test_campaign_subscriber_clicks
|
174
168
|
# client = Campaigning::Client.find_by_name("Client One Company")
|
@@ -206,7 +200,7 @@ class CampaigningTest < Test::Unit::TestCase
|
|
206
200
|
# :send_date => "2009-04-30 11:55:01" # Date format YYYY-MM-DD HH:MM:SS.
|
207
201
|
# )
|
208
202
|
# end
|
209
|
-
|
203
|
+
|
210
204
|
# def test_subscriber_add
|
211
205
|
# subscriber = Campaigning::Subscriber.new("robertf@test.com", "Robert Franklin")
|
212
206
|
# response = subscriber.add("ac52b645c048888a44c87b5f1ecf6b7d")
|
@@ -218,8 +212,8 @@ class CampaigningTest < Test::Unit::TestCase
|
|
218
212
|
# response = subscriber.add_and_resubscribe("ac52b645c048888a44c87b5f1ecf6b7d")
|
219
213
|
# assert response.code == 0
|
220
214
|
# end
|
221
|
-
|
222
|
-
|
215
|
+
|
216
|
+
|
223
217
|
# def test_subscriber_add_and_resubscribe_with_custom_fields
|
224
218
|
# subscriber = Campaigning::Subscriber.new("user_custon@test.com", "Mr. Custon")
|
225
219
|
# response = subscriber.add_and_resubscribe_with_custom_fields("ac52b645c048888a44c87b5f1ecf6b7d", :CityName => "Dublin", :SponsorName => "Some Sponsor")
|
@@ -252,11 +246,11 @@ class CampaigningTest < Test::Unit::TestCase
|
|
252
246
|
# assert response == false
|
253
247
|
# end
|
254
248
|
#
|
255
|
-
def test_subscriber_get_single_subscriber
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
end
|
249
|
+
# def test_subscriber_get_single_subscriber
|
250
|
+
# subscriber = Campaigning::Subscriber.get_single_subscriber("ac52b645c048888a44c87b5f1ecf6b7d", "user_custon2@test.com")
|
251
|
+
# puts subscriber.inspect
|
252
|
+
# assert subscriber.name != nil
|
253
|
+
# end
|
260
254
|
#
|
261
255
|
# def test_subscriber_get_unsubscribed
|
262
256
|
# subscriber_list = Campaigning::Subscriber.get_unsubscribed("ac52b645c048888a44c87b5f1ecf6b7d", DateTime.new(y=2009,m=4,d=01, h=01,min=00,s=00))
|
@@ -269,7 +263,7 @@ class CampaigningTest < Test::Unit::TestCase
|
|
269
263
|
# client = Campaigning::Client.find_by_name("Client One Company")
|
270
264
|
# list = Campaigning::List.create(
|
271
265
|
# :client_id => client.clientID,
|
272
|
-
# :title => "
|
266
|
+
# :title => "New list to test",
|
273
267
|
# :unsubscribe_page => "",
|
274
268
|
# :comfirm_opt_in => false,
|
275
269
|
# :confirmation_success_page => ""
|
@@ -325,6 +319,6 @@ class CampaigningTest < Test::Unit::TestCase
|
|
325
319
|
# )
|
326
320
|
# assert result.code == 0
|
327
321
|
# end
|
328
|
-
|
322
|
+
|
329
323
|
|
330
324
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gnumarcelo-campaigning
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Marcelo Menezes
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-05-
|
12
|
+
date: 2009-05-07 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -40,9 +40,10 @@ files:
|
|
40
40
|
- lib/campaigning.rb
|
41
41
|
- lib/campaigning/campaigning.rb
|
42
42
|
- lib/campaigning/helpers/helpers.rb
|
43
|
-
- lib/campaigning/soap/default.rb
|
44
|
-
- lib/campaigning/soap/defaultDriver.rb
|
45
|
-
- lib/campaigning/soap/defaultMappingRegistry.rb
|
43
|
+
- lib/campaigning/soap/generated/default.rb
|
44
|
+
- lib/campaigning/soap/generated/defaultDriver.rb
|
45
|
+
- lib/campaigning/soap/generated/defaultMappingRegistry.rb
|
46
|
+
- lib/campaigning/soap/soap_driver.rb
|
46
47
|
- lib/campaigning/types/campaign.rb
|
47
48
|
- lib/campaigning/types/client.rb
|
48
49
|
- lib/campaigning/types/list.rb
|