aweber 1.5.0 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +1 -1
- data/README.textile +1 -1
- data/aweber.gemspec +1 -1
- data/lib/aweber.rb +1 -0
- data/lib/aweber/resources.rb +2 -1
- data/lib/aweber/resources/broadcast.rb +3 -1
- data/lib/aweber/resources/campaign.rb +10 -7
- data/lib/aweber/resources/followup.rb +3 -1
- data/lib/aweber/resources/stat.rb +12 -0
- data/lib/aweber/resources/subscriber.rb +15 -1
- data/spec/fixtures/campaign.json +2 -1
- data/spec/fixtures/campaigns.json +6 -1
- data/spec/fixtures/stat.json +8 -0
- data/spec/fixtures/stats.json +13 -0
- data/spec/resources/campaign_spec.rb +10 -0
- data/spec/resources/stat_spec.rb +15 -0
- data/spec/resources/subscriber_spec.rb +10 -0
- data/spec/spec_helper.rb +2 -0
- metadata +111 -98
data/LICENSE
CHANGED
data/README.textile
CHANGED
data/aweber.gemspec
CHANGED
data/lib/aweber.rb
CHANGED
data/lib/aweber/resources.rb
CHANGED
@@ -9,8 +9,9 @@ require "aweber/resources/campaign"
|
|
9
9
|
require "aweber/resources/message"
|
10
10
|
require "aweber/resources/open"
|
11
11
|
require "aweber/resources/subscriber"
|
12
|
+
require "aweber/resources/stat"
|
12
13
|
require "aweber/resources/tracked_event"
|
13
14
|
require "aweber/resources/integration"
|
14
15
|
require "aweber/resources/web_form"
|
15
16
|
require "aweber/resources/web_form_split_test"
|
16
|
-
require "aweber/resources/web_form_split_test_component"
|
17
|
+
require "aweber/resources/web_form_split_test_component"
|
@@ -18,9 +18,11 @@ module AWeber
|
|
18
18
|
api_attr :total_unsubscribes
|
19
19
|
api_attr :twitter_account_link
|
20
20
|
|
21
|
+
api_attr :stats_collection_link
|
21
22
|
api_attr :links_collection_link
|
22
23
|
api_attr :messages_collection_link
|
23
24
|
|
25
|
+
has_many :stats
|
24
26
|
has_many :links
|
25
27
|
has_many :messages
|
26
28
|
|
@@ -28,4 +30,4 @@ module AWeber
|
|
28
30
|
alias_attribute :is_click_tracking_enabled?, :click_tracking_enabled
|
29
31
|
end
|
30
32
|
end
|
31
|
-
end
|
33
|
+
end
|
@@ -3,14 +3,18 @@ module AWeber
|
|
3
3
|
class Campaign < Resource
|
4
4
|
basepath "/campaigns"
|
5
5
|
|
6
|
+
api_attr :campaign_type
|
6
7
|
api_attr :click_tracking_enabled
|
7
8
|
api_attr :content_type
|
8
9
|
api_attr :is_archived
|
10
|
+
api_attr :links_collection_link
|
9
11
|
api_attr :message_interval
|
10
12
|
api_attr :message_number
|
13
|
+
api_attr :messages_collection_link
|
11
14
|
api_attr :scheduled_at
|
12
15
|
api_attr :sent_at
|
13
16
|
api_attr :spam_assassin_score
|
17
|
+
api_attr :stats_collection_link
|
14
18
|
api_attr :subject
|
15
19
|
api_attr :total_clicked
|
16
20
|
api_attr :total_clicks
|
@@ -21,22 +25,21 @@ module AWeber
|
|
21
25
|
api_attr :total_undelivered
|
22
26
|
api_attr :total_unsubscribes
|
23
27
|
api_attr :twitter_account_link
|
24
|
-
|
25
|
-
api_attr :messages_collection_link
|
26
|
-
|
28
|
+
|
27
29
|
has_many :links
|
28
30
|
has_many :messages
|
29
|
-
|
31
|
+
has_many :stats
|
32
|
+
|
30
33
|
alias_attribute :is_archived?, :is_archived
|
31
34
|
alias_attribute :is_click_tracking_enabled?, :click_tracking_enabled
|
32
35
|
|
33
36
|
def is_followup?
|
34
|
-
|
37
|
+
campaign_type == "f"
|
35
38
|
end
|
36
39
|
|
37
40
|
def is_broadcast?
|
38
|
-
|
41
|
+
campaign_type == "b"
|
39
42
|
end
|
40
43
|
end
|
41
44
|
end
|
42
|
-
end
|
45
|
+
end
|
@@ -34,6 +34,20 @@ module AWeber
|
|
34
34
|
move_to(list)
|
35
35
|
end
|
36
36
|
|
37
|
+
def move(list, last_followup_sent=nil)
|
38
|
+
move_args = {
|
39
|
+
"ws.op" => "move",
|
40
|
+
"list_link" => list.self_link
|
41
|
+
}
|
42
|
+
|
43
|
+
if last_followup_sent
|
44
|
+
move_args['last_followup_message_number_sent'] = last_followup_sent
|
45
|
+
end
|
46
|
+
|
47
|
+
r = client.post(self_link, move_args)
|
48
|
+
move_to(list)
|
49
|
+
end
|
50
|
+
|
37
51
|
private
|
38
52
|
|
39
53
|
def move_to(list)
|
@@ -43,4 +57,4 @@ module AWeber
|
|
43
57
|
end
|
44
58
|
end
|
45
59
|
end
|
46
|
-
end
|
60
|
+
end
|
data/spec/fixtures/campaign.json
CHANGED
@@ -13,6 +13,7 @@
|
|
13
13
|
"messages_collection_link": "http://api.apitest.lab/1.0/accounts/1/lists/1/campaigns/b2/messages",
|
14
14
|
"send_date": "2010-22-12T22:15:00-07:00",
|
15
15
|
"content_type": "HTML",
|
16
|
+
"stats_collection_link": "https://api.aweber.com/1.0/accounts/1/lists/1/campaigns/b1234/stats",
|
16
17
|
"total_sent": 0,
|
17
18
|
"self_link": "http://api.apitest.lab/1.0/accounts/1/lists/1/campaigns/b2",
|
18
19
|
"subject": "Something about stuff.",
|
@@ -20,4 +21,4 @@
|
|
20
21
|
"id": 2,
|
21
22
|
"total_unsubscribes": 0,
|
22
23
|
"total_spam_complaints": null
|
23
|
-
}
|
24
|
+
}
|
@@ -15,6 +15,7 @@
|
|
15
15
|
"id": 50000047,
|
16
16
|
"http_etag": "\"5b89a250c79f444d5d8b0a33333569cb7ba5bf12-e3f601ab748eb9ac953ad5fe426f204f460b721e\"",
|
17
17
|
"messages_collection_link": "https://api.aweber.com/1.0/accounts/1/lists/1/campaigns/f4125891/messages",
|
18
|
+
"stats_collection_link": "https://api.aweber.com/1.0/accounts/1/lists/1/campaigns/b1234/stats",
|
18
19
|
"content_type": "Text",
|
19
20
|
"total_unsubscribes": 0,
|
20
21
|
"self_link": "https://api.aweber.com/1.0/accounts/1/lists/1/campaigns/f4125891",
|
@@ -35,6 +36,7 @@
|
|
35
36
|
"id": 1967848,
|
36
37
|
"http_etag": "\"783551829f8c707d634ffdc642c4d27a98fd40f2-731c9d0c70ef77f5919d7ad4ec7a26b1c53eef50\"",
|
37
38
|
"messages_collection_link": "https://api.aweber.com/1.0/accounts/1/lists/406860/campaigns/f1967848/messages",
|
39
|
+
"stats_collection_link": "https://api.aweber.com/1.0/accounts/1/lists/1/campaigns/b1234/stats",
|
38
40
|
"content_type": "Text/HTML",
|
39
41
|
"total_unsubscribes": 0,
|
40
42
|
"self_link": "https://api.aweber.com/1.0/accounts/1/lists/406860/campaigns/f1967848",
|
@@ -55,6 +57,7 @@
|
|
55
57
|
"id": 664656,
|
56
58
|
"http_etag": "\"c98b377b2455745c2c2e54b7540dcabbea5b119d-90db636542d1250b74d31c9eee656f44a9ace3e0\"",
|
57
59
|
"messages_collection_link": "https://api.aweber.com/1.0/accounts/1/lists/406860/campaigns/f664656/messages",
|
60
|
+
"stats_collection_link": "https://api.aweber.com/1.0/accounts/1/lists/1/campaigns/b1234/stats",
|
58
61
|
"content_type": "HTML",
|
59
62
|
"total_unsubscribes": 0,
|
60
63
|
"self_link": "https://api.aweber.com/1.0/accounts/1/lists/406860/campaigns/f664656",
|
@@ -76,6 +79,7 @@
|
|
76
79
|
"http_etag": "\"e36ea7ee44a4b3df8eeb97168a665592ab90d1e9-8ce8a07752e3f7e39b01b646fa0309a11333b8aa\"",
|
77
80
|
"messages_collection_link": "https://api.aweber.com/1.0/accounts/1/lists/406860/campaigns/f1967845/messages",
|
78
81
|
"content_type": "Text",
|
82
|
+
"stats_collection_link": "https://api.aweber.com/1.0/accounts/1/lists/1/campaigns/b1234/stats",
|
79
83
|
"total_unsubscribes": 0,
|
80
84
|
"self_link": "https://api.aweber.com/1.0/accounts/1/lists/406860/campaigns/f1967845",
|
81
85
|
"total_undelivered": null,
|
@@ -98,9 +102,10 @@
|
|
98
102
|
"content_type": "Text/HTML",
|
99
103
|
"total_unsubscribes": 1,
|
100
104
|
"self_link": "https://api.aweber.com/1.0/accounts/1/lists/406860/campaigns/f1967847",
|
105
|
+
"stats_collection_link": "https://api.aweber.com/1.0/accounts/1/lists/1/campaigns/b1234/stats",
|
101
106
|
"total_undelivered": null,
|
102
107
|
"resource_type_link": "https://api.aweber.com/1.0/#followup_campaign",
|
103
108
|
"message_number": 5,
|
104
109
|
"subject": "{!firstname_fix}, Followup Test #4"
|
105
110
|
}]
|
106
|
-
}
|
111
|
+
}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
{
|
2
|
+
"id": "total_clicks",
|
3
|
+
"http_etag": "\"4ab41e60d14ea138a4522b3d2896942b7335c13c - ca5feee2b7fbb6febfca8af5541541ea960aaedb\"",
|
4
|
+
"self_link": "https://api.aweber.com/1.0/accounts/1/lists/1/campaigns/b1234/stats/total_clicks",
|
5
|
+
"resource_type_link": "https://api.aweber.com/1.0/#integer-stat",
|
6
|
+
"description": "total clicks",
|
7
|
+
"value": 1234
|
8
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
{
|
2
|
+
"total_size": 1,
|
3
|
+
"start": 0,
|
4
|
+
"resource_type_link": "https://api.aweber.com/1.0/#stats-page-resource",
|
5
|
+
"entries": [{
|
6
|
+
"id": "total_clicks",
|
7
|
+
"http_etag": "\"4ab41e60d14ea138a4522b3d2896942b7335c13c - ca5feee2b7fbb6febfca8af5541541ea960aaedb\"",
|
8
|
+
"self_link": "https://api.aweber.com/1.0/accounts/1/lists/1/campaigns/b1234/stats/total_clicks",
|
9
|
+
"resource_type_link": "https://api.aweber.com/1.0/#integer-stat",
|
10
|
+
"description": "total clicks",
|
11
|
+
"value": 1234
|
12
|
+
}]
|
13
|
+
}
|
@@ -6,11 +6,21 @@ describe "AWeber::Resources::Campaign" do
|
|
6
6
|
|
7
7
|
its(:path) { should == "/accounts/1/lists/1/campaigns/50000047" }
|
8
8
|
|
9
|
+
it { should respond_to :campaign_type }
|
9
10
|
it { should respond_to :click_tracking_enabled }
|
10
11
|
it { should respond_to :content_type }
|
12
|
+
it { should respond_to :links }
|
13
|
+
it { should respond_to :messages }
|
11
14
|
it { should respond_to :spam_assassin_score }
|
15
|
+
it { should respond_to :stats }
|
12
16
|
it { should respond_to :subject }
|
13
17
|
it { should respond_to :total_spam_complaints }
|
14
18
|
it { should respond_to :total_undelivered }
|
15
19
|
it { should respond_to :total_unsubscribes }
|
20
|
+
|
21
|
+
it "should should have a collection of stats" do
|
22
|
+
subject.stats.should be_an AWeber::Collection
|
23
|
+
subject.stats['total_clicks'].should be_an AWeber::Resources::Stat
|
24
|
+
end
|
25
|
+
|
16
26
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
describe AWeber::Resources::Link do
|
4
|
+
include BaseObjects
|
5
|
+
subject { aweber.account.lists[1].campaigns[50000047].stats['total_clicks'] }
|
6
|
+
|
7
|
+
its(:path) { should == "/accounts/1/lists/1/campaigns/50000047/stats/total_clicks" }
|
8
|
+
|
9
|
+
it { should respond_to :description }
|
10
|
+
it { should respond_to :http_etag }
|
11
|
+
it { should respond_to :id }
|
12
|
+
it { should respond_to :resource_type_link }
|
13
|
+
it { should respond_to :self_link }
|
14
|
+
it { should respond_to :value }
|
15
|
+
end
|
@@ -42,6 +42,16 @@ describe AWeber::Resources::Subscriber do
|
|
42
42
|
subject.list = aweber.account.lists[1550685]
|
43
43
|
end
|
44
44
|
|
45
|
+
|
46
|
+
it "should move lists with followup" do
|
47
|
+
list = "http://api.aweber.com/1.0/accounts/1/lists/987654"
|
48
|
+
json = { "ws.op" => "move", "list_link" => list, "last_followup_message_number_sent" => 1}
|
49
|
+
|
50
|
+
aweber.account.lists[1550685].stub(:self_link).and_return(list)
|
51
|
+
oauth.should_receive(:post).with(subject.self_link, json)
|
52
|
+
subject.move(aweber.account.lists[1550685], 1)
|
53
|
+
end
|
54
|
+
|
45
55
|
it "should update list when moving" do
|
46
56
|
new_list = aweber.account.lists[1550685]
|
47
57
|
subject.list = new_list
|
data/spec/spec_helper.rb
CHANGED
@@ -50,6 +50,8 @@ route :get, %r[/accounts/\d+/lists/\d+/web_form_split_tests/\d+/components\?], f
|
|
50
50
|
route :get, %r[/accounts/\d+/integrations\?], fixture("integrations.json")
|
51
51
|
route :get, %r[/accounts/\d+/lists/\d+/campaigns\?], fixture("campaigns.json")
|
52
52
|
route :get, %r[/accounts/\d+/lists/\d+/campaigns/[\d\w]+/links\?], fixture("links.json")
|
53
|
+
route :get, %r[/accounts/\d+/lists/\d+/campaigns/[\d\w]+/stats\?], fixture("stats.json")
|
54
|
+
route :get, %r[/accounts/\d+/lists/\d+/campaigns/[\d\w]+/stats/\d+/total_clicks\?], fixture("stat.json")
|
53
55
|
route :get, %r[/accounts/\d+/lists/\d+/campaigns/[\d\w]+/links/\d+/clicks\?], fixture("clicks.json")
|
54
56
|
route :get, %r[/accounts/\d+/lists/\d+/campaigns/[\d\w]+/messages\?], fixture("messages.json")
|
55
57
|
route :get, %r[/accounts/\d+/lists/\d+/campaigns/[\d\w]+/messages/\d+/opens\?], fixture("opens.json")
|
metadata
CHANGED
@@ -1,108 +1,120 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: aweber
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
5
|
-
|
6
|
-
- 1
|
7
|
-
- 5
|
8
|
-
- 0
|
9
|
-
version: 1.5.0
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.6.0
|
5
|
+
prerelease:
|
10
6
|
platform: ruby
|
11
|
-
authors:
|
7
|
+
authors:
|
12
8
|
- AWeber Communications, Inc.
|
13
9
|
autorequire:
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2013-01-04 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: oauth
|
22
|
-
|
23
|
-
|
24
|
-
requirements:
|
25
|
-
- -
|
26
|
-
- !ruby/object:Gem::Version
|
27
|
-
|
28
|
-
- 0
|
29
|
-
version: "0"
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
30
22
|
type: :runtime
|
31
|
-
version_requirements: *id001
|
32
|
-
- !ruby/object:Gem::Dependency
|
33
|
-
name: json
|
34
23
|
prerelease: false
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: json
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
42
38
|
type: :runtime
|
43
|
-
version_requirements: *id002
|
44
|
-
- !ruby/object:Gem::Dependency
|
45
|
-
name: fakeweb
|
46
39
|
prerelease: false
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: fakeweb
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
54
|
type: :development
|
55
|
-
version_requirements: *id003
|
56
|
-
- !ruby/object:Gem::Dependency
|
57
|
-
name: rake
|
58
55
|
prerelease: false
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: rake
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
66
70
|
type: :development
|
67
|
-
version_requirements: *id004
|
68
|
-
- !ruby/object:Gem::Dependency
|
69
|
-
name: rspec
|
70
71
|
prerelease: false
|
71
|
-
|
72
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: rspec
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
73
83
|
- - ~>
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
segments:
|
76
|
-
- 2
|
77
|
-
- 11
|
78
|
-
- 0
|
84
|
+
- !ruby/object:Gem::Version
|
79
85
|
version: 2.11.0
|
80
86
|
type: :development
|
81
|
-
version_requirements: *id005
|
82
|
-
- !ruby/object:Gem::Dependency
|
83
|
-
name: yard
|
84
87
|
prerelease: false
|
85
|
-
|
86
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ~>
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 2.11.0
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: yard
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
87
99
|
- - ~>
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
segments:
|
90
|
-
- 0
|
91
|
-
- 6
|
92
|
-
- 0
|
100
|
+
- !ruby/object:Gem::Version
|
93
101
|
version: 0.6.0
|
94
102
|
type: :development
|
95
|
-
|
103
|
+
prerelease: false
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ~>
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 0.6.0
|
96
110
|
description: Ruby interface to AWeber's API
|
97
111
|
email: help@aweber.com
|
98
112
|
executables: []
|
99
|
-
|
100
113
|
extensions: []
|
101
|
-
|
102
|
-
extra_rdoc_files:
|
114
|
+
extra_rdoc_files:
|
103
115
|
- LICENSE
|
104
116
|
- README.textile
|
105
|
-
files:
|
117
|
+
files:
|
106
118
|
- .document
|
107
119
|
- .gitignore
|
108
120
|
- .travis.yml
|
@@ -130,6 +142,7 @@ files:
|
|
130
142
|
- lib/aweber/resources/list.rb
|
131
143
|
- lib/aweber/resources/message.rb
|
132
144
|
- lib/aweber/resources/open.rb
|
145
|
+
- lib/aweber/resources/stat.rb
|
133
146
|
- lib/aweber/resources/subscriber.rb
|
134
147
|
- lib/aweber/resources/tracked_event.rb
|
135
148
|
- lib/aweber/resources/web_form.rb
|
@@ -158,6 +171,8 @@ files:
|
|
158
171
|
- spec/fixtures/messages.json
|
159
172
|
- spec/fixtures/open.json
|
160
173
|
- spec/fixtures/opens.json
|
174
|
+
- spec/fixtures/stat.json
|
175
|
+
- spec/fixtures/stats.json
|
161
176
|
- spec/fixtures/subscriber.json
|
162
177
|
- spec/fixtures/subscribers.json
|
163
178
|
- spec/fixtures/tracked_event.json
|
@@ -179,6 +194,7 @@ files:
|
|
179
194
|
- spec/resources/list_spec.rb
|
180
195
|
- spec/resources/message_spec.rb
|
181
196
|
- spec/resources/open_spec.rb
|
197
|
+
- spec/resources/stat_spec.rb
|
182
198
|
- spec/resources/subscriber_spec.rb
|
183
199
|
- spec/resources/tracked_event_spec.rb
|
184
200
|
- spec/resources/web_form_spec.rb
|
@@ -186,37 +202,31 @@ files:
|
|
186
202
|
- spec/resources/web_form_split_test_spec.rb
|
187
203
|
- spec/spec_helper.rb
|
188
204
|
- spec/support/fake_classes.rb
|
189
|
-
has_rdoc: true
|
190
205
|
homepage: http://github.com/aweber/AWeber-API-Ruby-Library
|
191
206
|
licenses: []
|
192
|
-
|
193
207
|
post_install_message:
|
194
208
|
rdoc_options: []
|
195
|
-
|
196
|
-
require_paths:
|
209
|
+
require_paths:
|
197
210
|
- lib
|
198
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
requirements:
|
207
|
-
- -
|
208
|
-
- !ruby/object:Gem::Version
|
209
|
-
|
210
|
-
- 0
|
211
|
-
version: "0"
|
211
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
212
|
+
none: false
|
213
|
+
requirements:
|
214
|
+
- - ! '>='
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0'
|
217
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
218
|
+
none: false
|
219
|
+
requirements:
|
220
|
+
- - ! '>='
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
212
223
|
requirements: []
|
213
|
-
|
214
224
|
rubyforge_project:
|
215
|
-
rubygems_version: 1.
|
225
|
+
rubygems_version: 1.8.23
|
216
226
|
signing_key:
|
217
227
|
specification_version: 3
|
218
228
|
summary: Ruby interface to AWeber's API
|
219
|
-
test_files:
|
229
|
+
test_files:
|
220
230
|
- spec/base_spec.rb
|
221
231
|
- spec/collection_spec.rb
|
222
232
|
- spec/fixtures/account.json
|
@@ -240,6 +250,8 @@ test_files:
|
|
240
250
|
- spec/fixtures/messages.json
|
241
251
|
- spec/fixtures/open.json
|
242
252
|
- spec/fixtures/opens.json
|
253
|
+
- spec/fixtures/stat.json
|
254
|
+
- spec/fixtures/stats.json
|
243
255
|
- spec/fixtures/subscriber.json
|
244
256
|
- spec/fixtures/subscribers.json
|
245
257
|
- spec/fixtures/tracked_event.json
|
@@ -261,6 +273,7 @@ test_files:
|
|
261
273
|
- spec/resources/list_spec.rb
|
262
274
|
- spec/resources/message_spec.rb
|
263
275
|
- spec/resources/open_spec.rb
|
276
|
+
- spec/resources/stat_spec.rb
|
264
277
|
- spec/resources/subscriber_spec.rb
|
265
278
|
- spec/resources/tracked_event_spec.rb
|
266
279
|
- spec/resources/web_form_spec.rb
|