createsend 3.4.0 → 4.0.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.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +1 -7
- data/CONTRIBUTING.md +2 -2
- data/HISTORY.md +42 -0
- data/LICENSE +1 -1
- data/RELEASE.md +2 -6
- data/createsend.gemspec +1 -0
- data/lib/createsend/campaign.rb +4 -4
- data/lib/createsend/client.rb +2 -2
- data/lib/createsend/createsend.rb +1 -11
- data/lib/createsend/list.rb +8 -10
- data/lib/createsend/segment.rb +10 -11
- data/lib/createsend/template.rb +2 -2
- data/lib/createsend/version.rb +1 -1
- data/test/createsend_test.rb +0 -13
- data/test/fixtures/segment_details.json +11 -7
- data/test/helper.rb +1 -1
- data/test/segment_test.rb +10 -10
- metadata +5 -7
- data/Gemfile.lock +0 -64
- data/test/fixtures/apikey.json +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da211cead45e0ca1c6b083f7b53c535212885abe
|
4
|
+
data.tar.gz: b27340d9c34db21fc2cf3aa12886c482854b75f7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d0d99c593cd1beb56782bca4664d51ad8794ef4445e4953a47f200977d8ce186b64ec63e4616b7a22fb18fd394e4e1a73c52ed9ef88801db32468df5602ca8a5
|
7
|
+
data.tar.gz: 84c93a100fcb6fff17e48d6fe00ccd332252dd4f8f54467452b1b7a20ddb4324b51902878b3c59840f08446cf3fe79377434931ff1a64856f728fbc4763ab00f
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
data/CONTRIBUTING.md
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
# Guidelines for contributing
|
2
2
|
|
3
3
|
1. [Fork the repository](https://help.github.com/articles/fork-a-repo).
|
4
|
-
2.
|
4
|
+
2. Create a topic branch.
|
5
5
|
3. Make your changes, including tests for your changes which maintain [coverage](https://coveralls.io/r/campaignmonitor/createsend-ruby).
|
6
|
-
4. Ensure that all tests pass, by running `bundle exec rake`.
|
6
|
+
4. Ensure that all tests pass, by running `bundle exec rake`.
|
7
7
|
5. It should go without saying, but do not increment the version number in your commits.
|
8
8
|
6. [Submit a pull request](https://help.github.com/articles/using-pull-requests).
|
data/HISTORY.md
CHANGED
@@ -1,5 +1,47 @@
|
|
1
1
|
# createsend-ruby history
|
2
2
|
|
3
|
+
## v4.0.0 - 19 Feb, 2014
|
4
|
+
|
5
|
+
* Removed `CreateSend::CreateSend#apikey` to promote using OAuth rather than basic auth with an API key.
|
6
|
+
* Started using the `https://api.createsend.com/api/v3.1/` API endpoint.
|
7
|
+
* Added support for new segments structure.
|
8
|
+
* Create and Update calls now require the new `rule_groups` structure, instead of a `rules` structure.
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
CreateSend::Segment.create(auth, list_id, title, rule_groups)
|
12
|
+
CreateSend::Segment.update(title, rule_groups)
|
13
|
+
```
|
14
|
+
|
15
|
+
So for example, when you _previously_ would have created an argument like so:
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
rules = [ { :Subject => "EmailAddress", :Clauses => [ "CONTAINS example.com" ] } ]
|
19
|
+
```
|
20
|
+
|
21
|
+
You would _now_ do this:
|
22
|
+
|
23
|
+
```ruby
|
24
|
+
rule_groups = [ { :Rules => [ { :RuleType => "EmailAddress", :Clause => "CONTAINS example.com" } ] } ]
|
25
|
+
```
|
26
|
+
|
27
|
+
* The Add Rule call is now Add Rule Group, taking a collection of rules in a single `rule_group` argument instead of separate `subject` & `clauses` arguments.
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
CreateSend::Segment.add_rule_group(rule_group)
|
31
|
+
```
|
32
|
+
|
33
|
+
So for example, when you _previously_ would have added a rule like so:
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
@segment.add_rule "EmailAddress", [ "CONTAINS example.com" ]
|
37
|
+
```
|
38
|
+
|
39
|
+
You would _now_ do this:
|
40
|
+
|
41
|
+
```ruby
|
42
|
+
@segment.add_rule_group [ { :RuleType => "EmailAddress", :Clause => "CONTAINS @hello.com" } ]
|
43
|
+
```
|
44
|
+
|
3
45
|
## v3.4.0 - 5 Jul, 2013
|
4
46
|
|
5
47
|
* Added support for validating SSL certificates to avoid man-in-the-middle attacks.
|
data/LICENSE
CHANGED
data/RELEASE.md
CHANGED
@@ -14,12 +14,6 @@
|
|
14
14
|
|
15
15
|
- Increment the `VERSION` constant in the `lib/createsend/version.rb` file, ensuring that you use [Semantic Versioning](http://semver.org/).
|
16
16
|
- Add an entry to `HISTORY.md` which clearly explains the new release.
|
17
|
-
- Ensure that the `Gemfile.lock` file is updated correctly by running:
|
18
|
-
|
19
|
-
```
|
20
|
-
bundle install
|
21
|
-
```
|
22
|
-
|
23
17
|
- Commit your changes:
|
24
18
|
|
25
19
|
```
|
@@ -40,6 +34,8 @@
|
|
40
34
|
|
41
35
|
- Ensure that all [tests](https://travis-ci.org/campaignmonitor/createsend-ruby) pass, and that [coverage](https://coveralls.io/r/campaignmonitor/createsend-ruby) is maintained or improved.
|
42
36
|
|
37
|
+
- Add a new [GitHub Release](https://github.com/campaignmonitor/createsend-ruby/releases) using the newly created tag.
|
38
|
+
|
43
39
|
## Build the gem
|
44
40
|
|
45
41
|
```
|
data/createsend.gemspec
CHANGED
data/lib/createsend/campaign.rb
CHANGED
@@ -84,7 +84,7 @@ module CreateSend
|
|
84
84
|
:PreviewRecipients => recipients.kind_of?(String) ?
|
85
85
|
[ recipients ] : recipients,
|
86
86
|
:Personalize => personalize }.to_json }
|
87
|
-
|
87
|
+
post "sendpreview", options
|
88
88
|
end
|
89
89
|
|
90
90
|
# Sends this campaign.
|
@@ -92,18 +92,18 @@ module CreateSend
|
|
92
92
|
options = { :body => {
|
93
93
|
:ConfirmationEmail => confirmation_email,
|
94
94
|
:SendDate => send_date }.to_json }
|
95
|
-
|
95
|
+
post "send", options
|
96
96
|
end
|
97
97
|
|
98
98
|
# Unschedules this campaign if it is currently scheduled.
|
99
99
|
def unschedule
|
100
100
|
options = { :body => "" }
|
101
|
-
|
101
|
+
post "unschedule", options
|
102
102
|
end
|
103
103
|
|
104
104
|
# Deletes this campaign.
|
105
105
|
def delete
|
106
|
-
|
106
|
+
super "/campaigns/#{campaign_id}.json", {}
|
107
107
|
end
|
108
108
|
|
109
109
|
# Gets a summary of this campaign
|
data/lib/createsend/client.rb
CHANGED
@@ -97,14 +97,14 @@ module CreateSend
|
|
97
97
|
options = { :body => {
|
98
98
|
:EmailAddresses => emails.kind_of?(String) ?
|
99
99
|
[ emails ] : emails }.to_json }
|
100
|
-
|
100
|
+
post "suppress", options
|
101
101
|
end
|
102
102
|
|
103
103
|
# Unsuppresses an email address by removing it from the the client's
|
104
104
|
# suppression list
|
105
105
|
def unsuppress(email)
|
106
106
|
options = { :query => { :email => email }, :body => '' }
|
107
|
-
|
107
|
+
put "unsuppress", options
|
108
108
|
end
|
109
109
|
|
110
110
|
# Gets the templates belonging to this client.
|
@@ -109,7 +109,7 @@ module CreateSend
|
|
109
109
|
end
|
110
110
|
end
|
111
111
|
|
112
|
-
@@base_uri = "https://api.createsend.com/api/v3"
|
112
|
+
@@base_uri = "https://api.createsend.com/api/v3.1"
|
113
113
|
@@oauth_base_uri = "https://api.createsend.com/oauth"
|
114
114
|
@@oauth_token_uri = "#{@@oauth_base_uri}/token"
|
115
115
|
headers({
|
@@ -139,16 +139,6 @@ module CreateSend
|
|
139
139
|
[access_token, expires_in, refresh_token]
|
140
140
|
end
|
141
141
|
|
142
|
-
# Gets your CreateSend API key, given your site url, username and password.
|
143
|
-
def apikey(site_url, username, password)
|
144
|
-
site_url = CGI.escape(site_url)
|
145
|
-
options = {:basic_auth => {:username => username, :password => password}}
|
146
|
-
response = get("/apikey.json?SiteUrl=#{site_url}", options)
|
147
|
-
result = Hashie::Mash.new(response)
|
148
|
-
auth({:api_key => result.ApiKey}) if not @auth_details
|
149
|
-
result
|
150
|
-
end
|
151
|
-
|
152
142
|
# Gets your clients.
|
153
143
|
def clients
|
154
144
|
response = get('/clients.json')
|
data/lib/createsend/list.rb
CHANGED
@@ -36,7 +36,7 @@ module CreateSend
|
|
36
36
|
|
37
37
|
# Deletes this list.
|
38
38
|
def delete
|
39
|
-
|
39
|
+
super "/lists/#{list_id}.json", {}
|
40
40
|
end
|
41
41
|
|
42
42
|
# Creates a new custom field for this list.
|
@@ -77,8 +77,7 @@ module CreateSend
|
|
77
77
|
# Deletes a custom field associated with this list.
|
78
78
|
def delete_custom_field(custom_field_key)
|
79
79
|
custom_field_key = CGI.escape(custom_field_key)
|
80
|
-
|
81
|
-
"/lists/#{list_id}/customfields/#{custom_field_key}.json", {})
|
80
|
+
cs_delete("/lists/#{list_id}/customfields/#{custom_field_key}.json", {})
|
82
81
|
end
|
83
82
|
|
84
83
|
# Updates the options of a multi-optioned custom field on this list.
|
@@ -88,7 +87,7 @@ module CreateSend
|
|
88
87
|
options = { :body => {
|
89
88
|
:Options => new_options,
|
90
89
|
:KeepExistingOptions => keep_existing_options }.to_json }
|
91
|
-
|
90
|
+
put "customfields/#{custom_field_key}/options", options
|
92
91
|
end
|
93
92
|
|
94
93
|
# Gets the details of this list.
|
@@ -178,7 +177,7 @@ module CreateSend
|
|
178
177
|
:UnsubscribeSetting => unsubscribe_setting,
|
179
178
|
:AddUnsubscribesToSuppList => add_unsubscribes_to_supp_list,
|
180
179
|
:ScrubActiveWithSuppList => scrub_active_with_supp_list }.to_json }
|
181
|
-
|
180
|
+
cs_put "/lists/#{list_id}.json", options
|
182
181
|
end
|
183
182
|
|
184
183
|
# Gets the webhooks for this list.
|
@@ -202,26 +201,25 @@ module CreateSend
|
|
202
201
|
# Tests that a post can be made to the endpoint specified for the webhook
|
203
202
|
# identified by webhook_id.
|
204
203
|
def test_webhook(webhook_id)
|
205
|
-
|
204
|
+
get "webhooks/#{webhook_id}/test"
|
206
205
|
true # An exception will be raised if any error occurs
|
207
206
|
end
|
208
207
|
|
209
208
|
# Deletes a webhook associated with this list.
|
210
209
|
def delete_webhook(webhook_id)
|
211
|
-
|
212
|
-
"/lists/#{list_id}/webhooks/#{webhook_id}.json", {})
|
210
|
+
cs_delete("/lists/#{list_id}/webhooks/#{webhook_id}.json", {})
|
213
211
|
end
|
214
212
|
|
215
213
|
# Activates a webhook associated with this list.
|
216
214
|
def activate_webhook(webhook_id)
|
217
215
|
options = { :body => '' }
|
218
|
-
|
216
|
+
put "webhooks/#{webhook_id}/activate", options
|
219
217
|
end
|
220
218
|
|
221
219
|
# De-activates a webhook associated with this list.
|
222
220
|
def deactivate_webhook(webhook_id)
|
223
221
|
options = { :body => '' }
|
224
|
-
|
222
|
+
put "webhooks/#{webhook_id}/deactivate", options
|
225
223
|
end
|
226
224
|
|
227
225
|
private
|
data/lib/createsend/segment.rb
CHANGED
@@ -9,29 +9,28 @@ module CreateSend
|
|
9
9
|
end
|
10
10
|
|
11
11
|
# Creates a new segment.
|
12
|
-
def self.create(auth, list_id, title,
|
12
|
+
def self.create(auth, list_id, title, rule_groups)
|
13
13
|
options = { :body => {
|
14
14
|
:Title => title,
|
15
|
-
:
|
15
|
+
:RuleGroups => rule_groups }.to_json }
|
16
16
|
cs = CreateSend.new auth
|
17
17
|
response = cs.post "/segments/#{list_id}.json", options
|
18
18
|
response.parsed_response
|
19
19
|
end
|
20
20
|
|
21
21
|
# Updates this segment.
|
22
|
-
def update(title,
|
22
|
+
def update(title, rule_groups)
|
23
23
|
options = { :body => {
|
24
24
|
:Title => title,
|
25
|
-
:
|
26
|
-
|
25
|
+
:RuleGroups => rule_groups }.to_json }
|
26
|
+
cs_put "/segments/#{segment_id}.json", options
|
27
27
|
end
|
28
28
|
|
29
29
|
# Adds a rule to this segment.
|
30
|
-
def
|
30
|
+
def add_rule_group(rule_group)
|
31
31
|
options = { :body => {
|
32
|
-
:
|
33
|
-
|
34
|
-
response = post "rules", options
|
32
|
+
:Rules => rule_group }.to_json }
|
33
|
+
post "rules", options
|
35
34
|
end
|
36
35
|
|
37
36
|
# Gets the active subscribers in this segment.
|
@@ -55,12 +54,12 @@ module CreateSend
|
|
55
54
|
|
56
55
|
# Clears all rules of this segment.
|
57
56
|
def clear_rules
|
58
|
-
|
57
|
+
cs_delete "/segments/#{segment_id}/rules.json", {}
|
59
58
|
end
|
60
59
|
|
61
60
|
# Deletes this segment.
|
62
61
|
def delete
|
63
|
-
|
62
|
+
super "/segments/#{segment_id}.json", {}
|
64
63
|
end
|
65
64
|
|
66
65
|
private
|
data/lib/createsend/template.rb
CHANGED
@@ -31,12 +31,12 @@ module CreateSend
|
|
31
31
|
:Name => name,
|
32
32
|
:HtmlPageURL => html_url,
|
33
33
|
:ZipFileURL => zip_url }.to_json }
|
34
|
-
|
34
|
+
put "/templates/#{template_id}.json", options
|
35
35
|
end
|
36
36
|
|
37
37
|
# Deletes this email template.
|
38
38
|
def delete
|
39
|
-
|
39
|
+
super "/templates/#{template_id}.json", {}
|
40
40
|
end
|
41
41
|
end
|
42
42
|
end
|
data/lib/createsend/version.rb
CHANGED
data/test/createsend_test.rb
CHANGED
@@ -100,19 +100,6 @@ class CreateSendTest < Test::Unit::TestCase
|
|
100
100
|
FakeWeb.last_request.body.should == "grant_type=refresh_token&refresh_token=#{CGI.escape(refresh_token)}"
|
101
101
|
end
|
102
102
|
|
103
|
-
should "get a person's api key" do
|
104
|
-
base_uri = "https://api.createsend.com/api/v3"
|
105
|
-
uri = URI.parse(base_uri)
|
106
|
-
site_url = "http://iamadesigner.createsend.com/"
|
107
|
-
username = "myusername"
|
108
|
-
password = "mypassword"
|
109
|
-
cs = CreateSend::CreateSend.new
|
110
|
-
stub_get(nil, "https://#{username}:#{password}@#{uri.host}#{uri.path}/apikey.json?SiteUrl=#{CGI.escape(site_url)}", "apikey.json")
|
111
|
-
apikey = cs.apikey(site_url, username, password).ApiKey
|
112
|
-
apikey.should == "981298u298ue98u219e8u2e98u2"
|
113
|
-
cs.auth_details.should == {:api_key => apikey}
|
114
|
-
end
|
115
|
-
|
116
103
|
end
|
117
104
|
|
118
105
|
context "when an api caller is authenticated using oauth" do
|
@@ -1,16 +1,20 @@
|
|
1
1
|
{
|
2
2
|
"ActiveSubscribers": 0,
|
3
|
-
"
|
3
|
+
"RuleGroups": [
|
4
4
|
{
|
5
|
-
"
|
6
|
-
|
7
|
-
|
5
|
+
"Rules": [
|
6
|
+
{
|
7
|
+
"RuleType": "EmailAddress",
|
8
|
+
"Clause": "CONTAINS @hello.com"
|
9
|
+
}
|
8
10
|
]
|
9
11
|
},
|
10
12
|
{
|
11
|
-
"
|
12
|
-
|
13
|
-
|
13
|
+
"Rules": [
|
14
|
+
{
|
15
|
+
"RuleType": "Name",
|
16
|
+
"Clause": "PROVIDED"
|
17
|
+
}
|
14
18
|
]
|
15
19
|
}
|
16
20
|
],
|
data/test/helper.rb
CHANGED
@@ -30,7 +30,7 @@ def createsend_url(auth, url)
|
|
30
30
|
if not url =~ /^http/
|
31
31
|
auth_section = ''
|
32
32
|
auth_section = "#{auth[:api_key]}:x@" if auth and auth.has_key? :api_key
|
33
|
-
result = "https://#{auth_section}api.createsend.com/api/v3/#{url}"
|
33
|
+
result = "https://#{auth_section}api.createsend.com/api/v3.1/#{url}"
|
34
34
|
else
|
35
35
|
result = url
|
36
36
|
end
|
data/test/segment_test.rb
CHANGED
@@ -8,22 +8,22 @@ class SegmentTest < Test::Unit::TestCase
|
|
8
8
|
|
9
9
|
should "create a new segment" do
|
10
10
|
list_id = "2983492834987394879837498"
|
11
|
-
|
11
|
+
rule_groups = [ { :Rules => [ { :RuleType => "EmailAddress", :Clause => "CONTAINS example.com" } ] } ]
|
12
12
|
stub_post(@auth, "segments/#{list_id}.json", "create_segment.json")
|
13
|
-
res = CreateSend::Segment.create @auth, list_id, "new segment title",
|
13
|
+
res = CreateSend::Segment.create @auth, list_id, "new segment title", rule_groups
|
14
14
|
res.should == "0246c2aea610a3545d9780bf6ab89006"
|
15
15
|
end
|
16
16
|
|
17
17
|
should "update a segment" do
|
18
|
-
rules = [ { :
|
18
|
+
rules = [ { :Rules => [ { :RuleType => "Name", :Clause => "PROVIDED" } ] } ]
|
19
19
|
stub_put(@auth, "segments/#{@segment.segment_id}.json", nil)
|
20
20
|
@segment.update "new title for segment", rules
|
21
21
|
end
|
22
22
|
|
23
|
-
should "add a rule to a segment" do
|
24
|
-
|
23
|
+
should "add a rule group to a segment" do
|
24
|
+
rule_group = [ { :RuleType => "EmailAddress", :Clause => "CONTAINS @hello.com" } ]
|
25
25
|
stub_post(@auth, "segments/#{@segment.segment_id}/rules.json", nil)
|
26
|
-
@segment.
|
26
|
+
@segment.add_rule_group rule_group
|
27
27
|
end
|
28
28
|
|
29
29
|
should "get the active subscribers for a particular segment in the list" do
|
@@ -55,10 +55,10 @@ class SegmentTest < Test::Unit::TestCase
|
|
55
55
|
stub_get(@auth, "segments/#{@segment.segment_id}.json", "segment_details.json")
|
56
56
|
res = @segment.details
|
57
57
|
res.ActiveSubscribers.should == 0
|
58
|
-
res.
|
59
|
-
res.
|
60
|
-
res.Rules.first.
|
61
|
-
res.
|
58
|
+
res.RuleGroups.size.should == 2
|
59
|
+
res.RuleGroups.first.Rules.size.should == 1
|
60
|
+
res.RuleGroups.first.Rules.first.RuleType.should == "EmailAddress"
|
61
|
+
res.RuleGroups.first.Rules.first.Clause.should == "CONTAINS @hello.com"
|
62
62
|
res.ListID.should == "2bea949d0bf96148c3e6a209d2e82060"
|
63
63
|
res.SegmentID.should == "dba84a225d5ce3d19105d7257baac46f"
|
64
64
|
res.Title.should == "My Segment"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: createsend
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 4.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Dennes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -154,7 +154,6 @@ files:
|
|
154
154
|
- .travis.yml
|
155
155
|
- CONTRIBUTING.md
|
156
156
|
- Gemfile
|
157
|
-
- Gemfile.lock
|
158
157
|
- HISTORY.md
|
159
158
|
- LICENSE
|
160
159
|
- README.md
|
@@ -185,7 +184,6 @@ files:
|
|
185
184
|
- test/fixtures/admin_get_primary_contact.json
|
186
185
|
- test/fixtures/admin_set_primary_contact.json
|
187
186
|
- test/fixtures/administrators.json
|
188
|
-
- test/fixtures/apikey.json
|
189
187
|
- test/fixtures/billingdetails.json
|
190
188
|
- test/fixtures/bounced_subscribers.json
|
191
189
|
- test/fixtures/campaign_bounces.json
|
@@ -253,7 +251,8 @@ files:
|
|
253
251
|
- test/subscriber_test.rb
|
254
252
|
- test/template_test.rb
|
255
253
|
homepage: http://campaignmonitor.github.io/createsend-ruby/
|
256
|
-
licenses:
|
254
|
+
licenses:
|
255
|
+
- MIT
|
257
256
|
metadata: {}
|
258
257
|
post_install_message:
|
259
258
|
rdoc_options: []
|
@@ -271,7 +270,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
271
270
|
version: 1.3.6
|
272
271
|
requirements: []
|
273
272
|
rubyforge_project:
|
274
|
-
rubygems_version: 2.0.
|
273
|
+
rubygems_version: 2.0.3
|
275
274
|
signing_key:
|
276
275
|
specification_version: 4
|
277
276
|
summary: A library which implements the complete functionality of the Campaign Monitor
|
@@ -289,7 +288,6 @@ test_files:
|
|
289
288
|
- test/fixtures/admin_get_primary_contact.json
|
290
289
|
- test/fixtures/admin_set_primary_contact.json
|
291
290
|
- test/fixtures/administrators.json
|
292
|
-
- test/fixtures/apikey.json
|
293
291
|
- test/fixtures/billingdetails.json
|
294
292
|
- test/fixtures/bounced_subscribers.json
|
295
293
|
- test/fixtures/campaign_bounces.json
|
data/Gemfile.lock
DELETED
@@ -1,64 +0,0 @@
|
|
1
|
-
PATH
|
2
|
-
remote: .
|
3
|
-
specs:
|
4
|
-
createsend (3.4.0)
|
5
|
-
hashie (>= 1.2, < 3)
|
6
|
-
httparty (~> 0.10)
|
7
|
-
json
|
8
|
-
|
9
|
-
GEM
|
10
|
-
remote: https://rubygems.org/
|
11
|
-
specs:
|
12
|
-
activesupport (3.2.11)
|
13
|
-
i18n (~> 0.6)
|
14
|
-
multi_json (~> 1.0)
|
15
|
-
bourne (1.1.2)
|
16
|
-
mocha (= 0.10.5)
|
17
|
-
colorize (0.5.8)
|
18
|
-
coveralls (0.6.3)
|
19
|
-
colorize
|
20
|
-
multi_json (~> 1.3)
|
21
|
-
rest-client
|
22
|
-
simplecov (>= 0.7)
|
23
|
-
thor
|
24
|
-
fakeweb (1.3.0)
|
25
|
-
hashie (2.0.4)
|
26
|
-
httparty (0.11.0)
|
27
|
-
multi_json (~> 1.0)
|
28
|
-
multi_xml (>= 0.5.2)
|
29
|
-
i18n (0.6.1)
|
30
|
-
jnunemaker-matchy (0.4.0)
|
31
|
-
json (1.7.7)
|
32
|
-
metaclass (0.0.1)
|
33
|
-
mime-types (1.21)
|
34
|
-
mocha (0.10.5)
|
35
|
-
metaclass (~> 0.0.1)
|
36
|
-
multi_json (1.5.0)
|
37
|
-
multi_xml (0.5.3)
|
38
|
-
rake (10.0.3)
|
39
|
-
rest-client (1.6.7)
|
40
|
-
mime-types (>= 1.16)
|
41
|
-
shoulda (3.3.2)
|
42
|
-
shoulda-context (~> 1.0.1)
|
43
|
-
shoulda-matchers (~> 1.4.1)
|
44
|
-
shoulda-context (1.0.2)
|
45
|
-
shoulda-matchers (1.4.2)
|
46
|
-
activesupport (>= 3.0.0)
|
47
|
-
bourne (~> 1.1.2)
|
48
|
-
simplecov (0.7.1)
|
49
|
-
multi_json (~> 1.0)
|
50
|
-
simplecov-html (~> 0.7.1)
|
51
|
-
simplecov-html (0.7.1)
|
52
|
-
thor (0.18.0)
|
53
|
-
|
54
|
-
PLATFORMS
|
55
|
-
ruby
|
56
|
-
|
57
|
-
DEPENDENCIES
|
58
|
-
coveralls
|
59
|
-
createsend!
|
60
|
-
fakeweb (~> 1.3)
|
61
|
-
jnunemaker-matchy (~> 0.4)
|
62
|
-
rake (~> 10.0)
|
63
|
-
shoulda (~> 3.3)
|
64
|
-
simplecov
|
data/test/fixtures/apikey.json
DELETED