createsend 2.4.0 → 2.5.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/Gemfile.lock +2 -2
- data/HISTORY.md +9 -0
- data/README.md +8 -4
- data/lib/createsend.rb +6 -0
- data/lib/createsend/campaign.rb +5 -5
- data/lib/createsend/client.rb +27 -0
- data/lib/createsend/list.rb +5 -5
- data/lib/createsend/segment.rb +1 -1
- data/lib/createsend/version.rb +1 -1
- data/test/campaign_test.rb +3 -2
- data/test/client_test.rb +21 -1
- data/test/createsend_test.rb +7 -1
- data/test/fixtures/billingdetails.json +3 -0
- data/test/fixtures/campaign_summary.json +1 -0
- data/test/fixtures/campaigns.json +8 -0
- data/test/fixtures/client_details.json +1 -0
- data/test/fixtures/drafts.json +10 -2
- data/test/fixtures/scheduled_campaigns.json +10 -2
- data/test/fixtures/transfer_credits.json +4 -0
- metadata +24 -20
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
createsend (2.
|
4
|
+
createsend (2.5.0)
|
5
5
|
hashie (~> 1.0)
|
6
6
|
httparty (~> 0.8)
|
7
7
|
json
|
@@ -25,7 +25,7 @@ GEM
|
|
25
25
|
mocha (0.10.0)
|
26
26
|
metaclass (~> 0.0.1)
|
27
27
|
multi_json (1.0.3)
|
28
|
-
multi_xml (0.
|
28
|
+
multi_xml (0.5.1)
|
29
29
|
rake (0.9.2.2)
|
30
30
|
shoulda (3.3.0)
|
31
31
|
shoulda-context (~> 1.0)
|
data/HISTORY.md
CHANGED
@@ -1,5 +1,14 @@
|
|
1
1
|
# createsend-ruby history
|
2
2
|
|
3
|
+
## v2.5.0 - 11 Dec, 2012 (3054885)
|
4
|
+
|
5
|
+
* Added support for including from name, from email, and reply to email in
|
6
|
+
drafts, scheduled, and sent campaigns.
|
7
|
+
* Added support for campaign text version urls.
|
8
|
+
* Added support for transferring credits to/from a client.
|
9
|
+
* Added support for getting account billing details as well as client credits.
|
10
|
+
* Made all date fields optional when getting paged results.
|
11
|
+
|
3
12
|
## v2.4.0 - 5 Nov, 2012 (4277d8d9)
|
4
13
|
|
5
14
|
* Added CreateSend::Campaign#email_client_usage.
|
data/README.md
CHANGED
@@ -8,10 +8,14 @@ A ruby library which implements the complete functionality of v3 of the [Campaig
|
|
8
8
|
|
9
9
|
gem install createsend
|
10
10
|
|
11
|
+
## Documentation
|
12
|
+
|
13
|
+
Full documentation is hosted by [RubyDoc.info](http://rubydoc.info/gems/createsend/frames).
|
14
|
+
|
11
15
|
## Examples
|
12
16
|
|
13
17
|
### Basic usage
|
14
|
-
|
18
|
+
This example of listing all your clients demonstrates basic usage of the library:
|
15
19
|
|
16
20
|
require 'createsend'
|
17
21
|
|
@@ -24,13 +28,13 @@ Retrieve a list of all your clients.
|
|
24
28
|
puts "#{c.ClientID}: #{c.Name}"
|
25
29
|
end
|
26
30
|
|
27
|
-
|
28
|
-
|
31
|
+
Running this example will result in something like:
|
32
|
+
|
29
33
|
4a397ccaaa55eb4e6aa1221e1e2d7122: Client One
|
30
34
|
a206def0582eec7dae47d937a4109cb2: Client Two
|
31
35
|
|
32
36
|
### Handling errors
|
33
|
-
If the
|
37
|
+
If the Campaign Monitor API returns an error, an exception will be thrown. For example, if you attempt to create a campaign and enter empty values for subject etc:
|
34
38
|
|
35
39
|
require 'createsend'
|
36
40
|
|
data/lib/createsend.rb
CHANGED
@@ -102,6 +102,12 @@ module CreateSend
|
|
102
102
|
response.map{|item| Hashie::Mash.new(item)}
|
103
103
|
end
|
104
104
|
|
105
|
+
# Get your billing details.
|
106
|
+
def billing_details
|
107
|
+
response = CreateSend.get('/billingdetails.json')
|
108
|
+
Hashie::Mash.new(response)
|
109
|
+
end
|
110
|
+
|
105
111
|
# Gets valid countries.
|
106
112
|
def countries
|
107
113
|
response = CreateSend.get('/countries.json')
|
data/lib/createsend/campaign.rb
CHANGED
@@ -138,7 +138,7 @@ module CreateSend
|
|
138
138
|
end
|
139
139
|
|
140
140
|
# Retrieves the opens for this campaign.
|
141
|
-
def opens(date, page=1, page_size=1000, order_field="date",
|
141
|
+
def opens(date="", page=1, page_size=1000, order_field="date",
|
142
142
|
order_direction="asc")
|
143
143
|
options = { :query => {
|
144
144
|
:date => date,
|
@@ -151,7 +151,7 @@ module CreateSend
|
|
151
151
|
end
|
152
152
|
|
153
153
|
# Retrieves the subscriber clicks for this campaign.
|
154
|
-
def clicks(date, page=1, page_size=1000, order_field="date",
|
154
|
+
def clicks(date="", page=1, page_size=1000, order_field="date",
|
155
155
|
order_direction="asc")
|
156
156
|
options = { :query => {
|
157
157
|
:date => date,
|
@@ -164,7 +164,7 @@ module CreateSend
|
|
164
164
|
end
|
165
165
|
|
166
166
|
# Retrieves the unsubscribes for this campaign.
|
167
|
-
def unsubscribes(date, page=1, page_size=1000, order_field="date",
|
167
|
+
def unsubscribes(date="", page=1, page_size=1000, order_field="date",
|
168
168
|
order_direction="asc")
|
169
169
|
options = { :query => {
|
170
170
|
:date => date,
|
@@ -177,7 +177,7 @@ module CreateSend
|
|
177
177
|
end
|
178
178
|
|
179
179
|
# Retrieves the spam complaints for this campaign.
|
180
|
-
def spam(date, page=1, page_size=1000, order_field="date",
|
180
|
+
def spam(date="", page=1, page_size=1000, order_field="date",
|
181
181
|
order_direction="asc")
|
182
182
|
options = { :query => {
|
183
183
|
:date => date,
|
@@ -190,7 +190,7 @@ module CreateSend
|
|
190
190
|
end
|
191
191
|
|
192
192
|
# Retrieves the bounces for this campaign.
|
193
|
-
def bounces(date="
|
193
|
+
def bounces(date="", page=1, page_size=1000, order_field="date",
|
194
194
|
order_direction="asc")
|
195
195
|
options = { :query => {
|
196
196
|
:date => date,
|
data/lib/createsend/client.rb
CHANGED
@@ -150,6 +150,33 @@ module CreateSend
|
|
150
150
|
put 'setmonthlybilling', options
|
151
151
|
end
|
152
152
|
|
153
|
+
# Transfer credits to or from this client.
|
154
|
+
#
|
155
|
+
# credits - An Integer representing the number of credits to transfer.
|
156
|
+
# This value may be either positive if you want to allocate credits from
|
157
|
+
# your account to the client, or negative if you want to deduct credits
|
158
|
+
# from the client back into your account.
|
159
|
+
# can_use_my_credits_when_they_run_out - A Boolean value representing
|
160
|
+
# which, if set to true, will allow the client to continue sending using
|
161
|
+
# your credits or payment details once they run out of credits, and if
|
162
|
+
# set to false, will prevent the client from using your credits to
|
163
|
+
# continue sending until you allocate more credits to them.
|
164
|
+
#
|
165
|
+
# Returns an object of the following form representing the result:
|
166
|
+
# {
|
167
|
+
# AccountCredits # Integer representing credits in your account now
|
168
|
+
# ClientCredits # Integer representing credits in this client's
|
169
|
+
# account now
|
170
|
+
# }
|
171
|
+
def transfer_credits(credits, can_use_my_credits_when_they_run_out)
|
172
|
+
options = { :body => {
|
173
|
+
:Credits => credits,
|
174
|
+
:CanUseMyCreditsWhenTheyRunOut => can_use_my_credits_when_they_run_out
|
175
|
+
}.to_json }
|
176
|
+
response = post 'credits', options
|
177
|
+
Hashie::Mash.new(response)
|
178
|
+
end
|
179
|
+
|
153
180
|
# Deletes this client.
|
154
181
|
def delete
|
155
182
|
CreateSend.delete "/clients/#{client_id}.json", {}
|
data/lib/createsend/list.rb
CHANGED
@@ -117,7 +117,7 @@ module CreateSend
|
|
117
117
|
end
|
118
118
|
|
119
119
|
# Gets the active subscribers for this list.
|
120
|
-
def active(date, page=1, page_size=1000, order_field="email",
|
120
|
+
def active(date="", page=1, page_size=1000, order_field="email",
|
121
121
|
order_direction="asc")
|
122
122
|
options = { :query => {
|
123
123
|
:date => date,
|
@@ -130,7 +130,7 @@ module CreateSend
|
|
130
130
|
end
|
131
131
|
|
132
132
|
# Gets the unconfirmed subscribers for this list.
|
133
|
-
def unconfirmed(date, page=1, page_size=1000, order_field="email",
|
133
|
+
def unconfirmed(date="", page=1, page_size=1000, order_field="email",
|
134
134
|
order_direction="asc")
|
135
135
|
options = { :query => {
|
136
136
|
:date => date,
|
@@ -143,7 +143,7 @@ module CreateSend
|
|
143
143
|
end
|
144
144
|
|
145
145
|
# Gets the bounced subscribers for this list.
|
146
|
-
def bounced(date, page=1, page_size=1000, order_field="email",
|
146
|
+
def bounced(date="", page=1, page_size=1000, order_field="email",
|
147
147
|
order_direction="asc")
|
148
148
|
options = { :query => {
|
149
149
|
:date => date,
|
@@ -156,7 +156,7 @@ module CreateSend
|
|
156
156
|
end
|
157
157
|
|
158
158
|
# Gets the unsubscribed subscribers for this list.
|
159
|
-
def unsubscribed(date, page=1, page_size=1000, order_field="email",
|
159
|
+
def unsubscribed(date="", page=1, page_size=1000, order_field="email",
|
160
160
|
order_direction="asc")
|
161
161
|
options = { :query => {
|
162
162
|
:date => date,
|
@@ -169,7 +169,7 @@ module CreateSend
|
|
169
169
|
end
|
170
170
|
|
171
171
|
# Gets the deleted subscribers for this list.
|
172
|
-
def deleted(date, page=1, page_size=1000, order_field="email",
|
172
|
+
def deleted(date="", page=1, page_size=1000, order_field="email",
|
173
173
|
order_direction="asc")
|
174
174
|
options = { :query => {
|
175
175
|
:date => date,
|
data/lib/createsend/segment.rb
CHANGED
@@ -36,7 +36,7 @@ module CreateSend
|
|
36
36
|
end
|
37
37
|
|
38
38
|
# Gets the active subscribers in this segment.
|
39
|
-
def subscribers(date, page=1, page_size=1000, order_field="email",
|
39
|
+
def subscribers(date="", page=1, page_size=1000, order_field="email",
|
40
40
|
order_direction="asc")
|
41
41
|
options = { :query => {
|
42
42
|
:date => date,
|
data/lib/createsend/version.rb
CHANGED
data/test/campaign_test.rb
CHANGED
@@ -149,6 +149,7 @@ class CampaignTest < Test::Unit::TestCase
|
|
149
149
|
summary.Forwards.should == 11
|
150
150
|
summary.Likes.should == 32
|
151
151
|
summary.WebVersionURL.should == "http://createsend.com/t/r-3A433FC72FFE3B8B"
|
152
|
+
summary.WebVersionTextURL.should == "http://createsend.com/t/r-3A433FC72FFE3B8B/t"
|
152
153
|
summary.WorldviewURL.should == "http://client.createsend.com/reports/wv/r/3A433FC72FFE3B8B"
|
153
154
|
summary.SpamComplaints.should == 23
|
154
155
|
end
|
@@ -189,7 +190,7 @@ class CampaignTest < Test::Unit::TestCase
|
|
189
190
|
res.Results.first.EmailAddress.should == "subs+6g76t7t0@example.com"
|
190
191
|
res.Results.first.ListID.should == "a994a3caf1328a16af9a69a730eaa706"
|
191
192
|
end
|
192
|
-
|
193
|
+
|
193
194
|
should "get the opens for a campaign" do
|
194
195
|
min_date = "2010-01-01"
|
195
196
|
stub_get(@api_key, "campaigns/#{@campaign.campaign_id}/opens.json?page=1&pagesize=1000&orderfield=date&orderdirection=asc&date=#{CGI.escape(min_date)}", "campaign_opens.json")
|
@@ -238,7 +239,7 @@ class CampaignTest < Test::Unit::TestCase
|
|
238
239
|
clicks.TotalNumberOfRecords.should == 3
|
239
240
|
clicks.NumberOfPages.should == 1
|
240
241
|
end
|
241
|
-
|
242
|
+
|
242
243
|
should "get the unsubscribes for a campaign" do
|
243
244
|
min_date = "2010-01-01"
|
244
245
|
stub_get(@api_key, "campaigns/#{@campaign.campaign_id}/unsubscribes.json?page=1&pagesize=1000&orderfield=date&orderdirection=asc&date=#{CGI.escape(min_date)}", "campaign_unsubscribes.json")
|
data/test/client_test.rb
CHANGED
@@ -24,6 +24,7 @@ class ClientTest < Test::Unit::TestCase
|
|
24
24
|
cl.AccessDetails.Username.should == "clientone"
|
25
25
|
cl.AccessDetails.AccessLevel.should == 23
|
26
26
|
cl.BillingDetails.MonthlyScheme.should == "Basic"
|
27
|
+
cl.BillingDetails.Credits.should == 500
|
27
28
|
end
|
28
29
|
|
29
30
|
should "get all campaigns" do
|
@@ -32,10 +33,14 @@ class ClientTest < Test::Unit::TestCase
|
|
32
33
|
campaigns.size.should == 2
|
33
34
|
campaigns.first.CampaignID.should == 'fc0ce7105baeaf97f47c99be31d02a91'
|
34
35
|
campaigns.first.WebVersionURL.should == 'http://createsend.com/t/r-765E86829575EE2C'
|
36
|
+
campaigns.first.WebVersionTextURL.should == 'http://createsend.com/t/r-765E86829575EE2C/t'
|
35
37
|
campaigns.first.Subject.should == 'Campaign One'
|
36
38
|
campaigns.first.Name.should == 'Campaign One'
|
37
39
|
campaigns.first.SentDate.should == '2010-10-12 12:58:00'
|
38
40
|
campaigns.first.TotalRecipients.should == 2245
|
41
|
+
campaigns.first.FromName.should == 'My Name'
|
42
|
+
campaigns.first.FromEmail.should == 'myemail@example.com'
|
43
|
+
campaigns.first.ReplyTo.should == 'myemail@example.com'
|
39
44
|
end
|
40
45
|
|
41
46
|
should "get scheduled campaigns" do
|
@@ -49,6 +54,10 @@ class ClientTest < Test::Unit::TestCase
|
|
49
54
|
campaigns.first.Subject.should == "Magic Issue One"
|
50
55
|
campaigns.first.DateCreated.should == "2011-05-24 10:37:00"
|
51
56
|
campaigns.first.PreviewURL.should == "http://createsend.com/t/r-DD543521A87C9B8B"
|
57
|
+
campaigns.first.PreviewTextURL.should == "http://createsend.com/t/r-DD543521A87C9B8B/t"
|
58
|
+
campaigns.first.FromName.should == 'My Name'
|
59
|
+
campaigns.first.FromEmail.should == 'myemail@example.com'
|
60
|
+
campaigns.first.ReplyTo.should == 'myemail@example.com'
|
52
61
|
end
|
53
62
|
|
54
63
|
should "get all drafts" do
|
@@ -60,6 +69,10 @@ class ClientTest < Test::Unit::TestCase
|
|
60
69
|
drafts.first.Subject.should == 'Draft One'
|
61
70
|
drafts.first.DateCreated.should == '2010-08-19 16:08:00'
|
62
71
|
drafts.first.PreviewURL.should == 'http://createsend.com/t/r-E97A7BB2E6983DA1'
|
72
|
+
drafts.first.PreviewTextURL.should == 'http://createsend.com/t/r-E97A7BB2E6983DA1/t'
|
73
|
+
drafts.first.FromName.should == 'My Name'
|
74
|
+
drafts.first.FromEmail.should == 'myemail@example.com'
|
75
|
+
drafts.first.ReplyTo.should == 'myemail@example.com'
|
63
76
|
end
|
64
77
|
|
65
78
|
should "get all lists" do
|
@@ -194,7 +207,14 @@ class ClientTest < Test::Unit::TestCase
|
|
194
207
|
request.include?("\"MarkupPercentage\":120").should == true
|
195
208
|
request.include?("\"MonthlyScheme\":\"Unlimited\"").should == true
|
196
209
|
end
|
197
|
-
|
210
|
+
|
211
|
+
should "transfer credits to a client" do
|
212
|
+
stub_post(@api_key, "clients/#{@client.client_id}/credits.json", "transfer_credits.json")
|
213
|
+
result = @client.transfer_credits 200, false
|
214
|
+
result.AccountCredits.should == 800
|
215
|
+
result.ClientCredits.should == 200
|
216
|
+
end
|
217
|
+
|
198
218
|
should "delete a client" do
|
199
219
|
stub_delete(@api_key, "clients/#{@client.client_id}.json", nil)
|
200
220
|
@client.delete
|
data/test/createsend_test.rb
CHANGED
@@ -34,7 +34,13 @@ class CreateSendTest < Test::Unit::TestCase
|
|
34
34
|
clients.first.ClientID.should == '4a397ccaaa55eb4e6aa1221e1e2d7122'
|
35
35
|
clients.first.Name.should == 'Client One'
|
36
36
|
end
|
37
|
-
|
37
|
+
|
38
|
+
should "get billing details" do
|
39
|
+
stub_get(@api_key, "billingdetails.json", "billingdetails.json")
|
40
|
+
bd = @cs.billing_details
|
41
|
+
bd.Credits.should == 3021
|
42
|
+
end
|
43
|
+
|
38
44
|
should "get all countries" do
|
39
45
|
stub_get(@api_key, "countries.json", "countries.json")
|
40
46
|
countries = @cs.countries
|
@@ -9,6 +9,7 @@
|
|
9
9
|
"Forwards": 11,
|
10
10
|
"Likes": 32,
|
11
11
|
"WebVersionURL": "http://createsend.com/t/r-3A433FC72FFE3B8B",
|
12
|
+
"WebVersionTextURL": "http://createsend.com/t/r-3A433FC72FFE3B8B/t",
|
12
13
|
"WorldviewURL": "http://client.createsend.com/reports/wv/r/3A433FC72FFE3B8B",
|
13
14
|
"SpamComplaints": 23
|
14
15
|
}
|
@@ -1,17 +1,25 @@
|
|
1
1
|
[
|
2
2
|
{
|
3
3
|
"WebVersionURL": "http://createsend.com/t/r-765E86829575EE2C",
|
4
|
+
"WebVersionTextURL": "http://createsend.com/t/r-765E86829575EE2C/t",
|
4
5
|
"CampaignID": "fc0ce7105baeaf97f47c99be31d02a91",
|
5
6
|
"Subject": "Campaign One",
|
6
7
|
"Name": "Campaign One",
|
8
|
+
"FromName": "My Name",
|
9
|
+
"FromEmail": "myemail@example.com",
|
10
|
+
"ReplyTo": "myemail@example.com",
|
7
11
|
"SentDate": "2010-10-12 12:58:00",
|
8
12
|
"TotalRecipients": 2245
|
9
13
|
},
|
10
14
|
{
|
11
15
|
"WebVersionURL": "http://createsend.com/t/r-DD543566A87C9B8B",
|
16
|
+
"WebVersionTextURL": "http://createsend.com/t/r-DD543566A87C9B8B/t",
|
12
17
|
"CampaignID": "072472b88c853ae5dedaeaf549a8d607",
|
13
18
|
"Subject": "Campaign Two",
|
14
19
|
"Name": "Campaign Two",
|
20
|
+
"FromName": "My Name",
|
21
|
+
"FromEmail": "myemail@example.com",
|
22
|
+
"ReplyTo": "myemail@example.com",
|
15
23
|
"SentDate": "2010-10-06 16:20:00",
|
16
24
|
"TotalRecipients": 11222
|
17
25
|
}
|
data/test/fixtures/drafts.json
CHANGED
@@ -3,14 +3,22 @@
|
|
3
3
|
"CampaignID": "7c7424792065d92627139208c8c01db1",
|
4
4
|
"Name": "Draft One",
|
5
5
|
"Subject": "Draft One",
|
6
|
+
"FromName": "My Name",
|
7
|
+
"FromEmail": "myemail@example.com",
|
8
|
+
"ReplyTo": "myemail@example.com",
|
6
9
|
"DateCreated": "2010-08-19 16:08:00",
|
7
|
-
"PreviewURL": "http://createsend.com/t/r-E97A7BB2E6983DA1"
|
10
|
+
"PreviewURL": "http://createsend.com/t/r-E97A7BB2E6983DA1",
|
11
|
+
"PreviewTextURL": "http://createsend.com/t/r-E97A7BB2E6983DA1/t"
|
8
12
|
},
|
9
13
|
{
|
10
14
|
"CampaignID": "2e928e982065d92627139208c8c01db1",
|
11
15
|
"Name": "Draft Two",
|
12
16
|
"Subject": "Draft Two",
|
17
|
+
"FromName": "My Name",
|
18
|
+
"FromEmail": "myemail@example.com",
|
19
|
+
"ReplyTo": "myemail@example.com",
|
13
20
|
"DateCreated": "2010-08-19 16:08:00",
|
14
|
-
"PreviewURL": "http://createsend.com/t/r-E97A7BB2E6983DA1"
|
21
|
+
"PreviewURL": "http://createsend.com/t/r-E97A7BB2E6983DA1",
|
22
|
+
"PreviewTextURL": "http://createsend.com/t/r-E97A7BB2E6983DA1/t"
|
15
23
|
}
|
16
24
|
]
|
@@ -5,8 +5,12 @@
|
|
5
5
|
"CampaignID": "827dbbd2161ea9989fa11ad562c66937",
|
6
6
|
"Name": "Magic Issue One",
|
7
7
|
"Subject": "Magic Issue One",
|
8
|
+
"FromName": "My Name",
|
9
|
+
"FromEmail": "myemail@example.com",
|
10
|
+
"ReplyTo": "myemail@example.com",
|
8
11
|
"DateCreated": "2011-05-24 10:37:00",
|
9
|
-
"PreviewURL": "http://createsend.com/t/r-DD543521A87C9B8B"
|
12
|
+
"PreviewURL": "http://createsend.com/t/r-DD543521A87C9B8B",
|
13
|
+
"PreviewTextURL": "http://createsend.com/t/r-DD543521A87C9B8B/t"
|
10
14
|
},
|
11
15
|
{
|
12
16
|
"DateScheduled": "2011-05-29 11:20:00",
|
@@ -14,7 +18,11 @@
|
|
14
18
|
"CampaignID": "4f54bbd2161e65789fa11ad562c66937",
|
15
19
|
"Name": "Magic Issue Two",
|
16
20
|
"Subject": "Magic Issue Two",
|
21
|
+
"FromName": "My Name",
|
22
|
+
"FromEmail": "myemail@example.com",
|
23
|
+
"ReplyTo": "myemail@example.com",
|
17
24
|
"DateCreated": "2011-05-24 10:39:00",
|
18
|
-
"PreviewURL": "http://createsend.com/t/r-DD913521A87C9B8B"
|
25
|
+
"PreviewURL": "http://createsend.com/t/r-DD913521A87C9B8B",
|
26
|
+
"PreviewTextURL": "http://createsend.com/t/r-DD913521A87C9B8B/t"
|
19
27
|
}
|
20
28
|
]
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: createsend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-11
|
12
|
+
date: 2012-12-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement: &
|
16
|
+
requirement: &70131066006280 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70131066006280
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: fakeweb
|
27
|
-
requirement: &
|
27
|
+
requirement: &70131066005780 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '1.3'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70131066005780
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: jnunemaker-matchy
|
38
|
-
requirement: &
|
38
|
+
requirement: &70131066005280 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0.4'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70131066005280
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: mocha
|
49
|
-
requirement: &
|
49
|
+
requirement: &70131066004820 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: '0.9'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70131066004820
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: shoulda
|
60
|
-
requirement: &
|
60
|
+
requirement: &70131065602620 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ~>
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 3.3.0
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70131065602620
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: cane
|
71
|
-
requirement: &
|
71
|
+
requirement: &70131065601720 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70131065601720
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: json
|
82
|
-
requirement: &
|
82
|
+
requirement: &70131065600740 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :runtime
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70131065600740
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: hashie
|
93
|
-
requirement: &
|
93
|
+
requirement: &70131065599540 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ~>
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '1.0'
|
99
99
|
type: :runtime
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70131065599540
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: httparty
|
104
|
-
requirement: &
|
104
|
+
requirement: &70131065598900 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ~>
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: '0.8'
|
110
110
|
type: :runtime
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70131065598900
|
113
113
|
description: Implements the complete functionality of the Campaign Monitor API.
|
114
114
|
email:
|
115
115
|
- jdennes@gmail.com
|
@@ -149,6 +149,7 @@ files:
|
|
149
149
|
- test/fixtures/admin_set_primary_contact.json
|
150
150
|
- test/fixtures/administrators.json
|
151
151
|
- test/fixtures/apikey.json
|
152
|
+
- test/fixtures/billingdetails.json
|
152
153
|
- test/fixtures/bounced_subscribers.json
|
153
154
|
- test/fixtures/campaign_bounces.json
|
154
155
|
- test/fixtures/campaign_clicks.json
|
@@ -196,6 +197,7 @@ files:
|
|
196
197
|
- test/fixtures/template_details.json
|
197
198
|
- test/fixtures/templates.json
|
198
199
|
- test/fixtures/timezones.json
|
200
|
+
- test/fixtures/transfer_credits.json
|
199
201
|
- test/fixtures/unconfirmed_subscribers.json
|
200
202
|
- test/fixtures/unsubscribed_subscribers.json
|
201
203
|
- test/fixtures/update_custom_field.json
|
@@ -244,6 +246,7 @@ test_files:
|
|
244
246
|
- test/fixtures/admin_set_primary_contact.json
|
245
247
|
- test/fixtures/administrators.json
|
246
248
|
- test/fixtures/apikey.json
|
249
|
+
- test/fixtures/billingdetails.json
|
247
250
|
- test/fixtures/bounced_subscribers.json
|
248
251
|
- test/fixtures/campaign_bounces.json
|
249
252
|
- test/fixtures/campaign_clicks.json
|
@@ -291,6 +294,7 @@ test_files:
|
|
291
294
|
- test/fixtures/template_details.json
|
292
295
|
- test/fixtures/templates.json
|
293
296
|
- test/fixtures/timezones.json
|
297
|
+
- test/fixtures/transfer_credits.json
|
294
298
|
- test/fixtures/unconfirmed_subscribers.json
|
295
299
|
- test/fixtures/unsubscribed_subscribers.json
|
296
300
|
- test/fixtures/update_custom_field.json
|