createsend 2.4.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- createsend (2.4.0)
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.4.4)
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
- Retrieve a list of all your clients.
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
- Results in:
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 createsend 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:
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')
@@ -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="1900-01-01", page=1, page_size=1000, order_field="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,
@@ -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", {}
@@ -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,
@@ -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,
@@ -1,3 +1,3 @@
1
1
  module CreateSend
2
- VERSION = "2.4.0" unless defined?(CreateSend::VERSION)
2
+ VERSION = "2.5.0" unless defined?(CreateSend::VERSION)
3
3
  end
@@ -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
@@ -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
@@ -0,0 +1,3 @@
1
+ {
2
+ "Credits": 3021
3
+ }
@@ -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
  }
@@ -14,6 +14,7 @@
14
14
  },
15
15
  "BillingDetails": {
16
16
  "CanPurchaseCredits": true,
17
+ "Credits": 500,
17
18
  "MarkupOnDesignSpamTest": 0.0,
18
19
  "ClientPays": true,
19
20
  "BaseRatePerRecipient": 1.0,
@@ -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
  ]
@@ -0,0 +1,4 @@
1
+ {
2
+ "AccountCredits": 800,
3
+ "ClientCredits": 200
4
+ }
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.0
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-05 00:00:00.000000000 Z
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: &70098807897300 !ruby/object:Gem::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: *70098807897300
24
+ version_requirements: *70131066006280
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: fakeweb
27
- requirement: &70098807896180 !ruby/object:Gem::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: *70098807896180
35
+ version_requirements: *70131066005780
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: jnunemaker-matchy
38
- requirement: &70098807915080 !ruby/object:Gem::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: *70098807915080
46
+ version_requirements: *70131066005280
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: mocha
49
- requirement: &70098807914240 !ruby/object:Gem::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: *70098807914240
57
+ version_requirements: *70131066004820
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: shoulda
60
- requirement: &70098807913600 !ruby/object:Gem::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: *70098807913600
68
+ version_requirements: *70131065602620
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: cane
71
- requirement: &70098807912660 !ruby/object:Gem::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: *70098807912660
79
+ version_requirements: *70131065601720
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: json
82
- requirement: &70098807911800 !ruby/object:Gem::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: *70098807911800
90
+ version_requirements: *70131065600740
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: hashie
93
- requirement: &70098807911160 !ruby/object:Gem::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: *70098807911160
101
+ version_requirements: *70131065599540
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: httparty
104
- requirement: &70098807910060 !ruby/object:Gem::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: *70098807910060
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