streamsend 0.1.0 → 0.1.1

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 ADDED
@@ -0,0 +1,3 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,33 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ streamsend (0.1.1)
5
+ httparty (= 0.7.4)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ addressable (2.2.7)
11
+ crack (0.1.8)
12
+ diff-lcs (1.1.3)
13
+ httparty (0.7.4)
14
+ crack (= 0.1.8)
15
+ rspec (2.9.0)
16
+ rspec-core (~> 2.9.0)
17
+ rspec-expectations (~> 2.9.0)
18
+ rspec-mocks (~> 2.9.0)
19
+ rspec-core (2.9.0)
20
+ rspec-expectations (2.9.0)
21
+ diff-lcs (~> 1.1.3)
22
+ rspec-mocks (2.9.0)
23
+ webmock (1.8.4)
24
+ addressable (>= 2.2.7)
25
+ crack (>= 0.1.7)
26
+
27
+ PLATFORMS
28
+ ruby
29
+
30
+ DEPENDENCIES
31
+ rspec (~> 2.5)
32
+ streamsend!
33
+ webmock (~> 1.6)
data/Rakefile CHANGED
@@ -1,14 +1,2 @@
1
- require 'rubygems'
2
- require 'rake'
3
- require 'echoe'
4
-
5
- Echoe.new('streamsend', '0.1.0') do |p|
6
- p.description = "Ruby wrapper for the StreamSend API."
7
- p.url = "http://github.com/salbertson/streamsend-ruby"
8
- p.author = "Scott Albertson"
9
- p.email = "salbertson@streamsend.com"
10
- p.ignore_pattern = ["tmp/*", "script/*"]
11
- p.development_dependencies = []
12
- end
13
-
14
- Dir["#{File.dirname(__FILE__)}/tasks/*.rake"].sort.each { |ext| load ext }
1
+ #!/usr/bin/env rake
2
+ require "bundler/gem_tasks"
@@ -0,0 +1,19 @@
1
+ module StreamSend
2
+ class Resource
3
+ def initialize(data)
4
+ @data = data
5
+ end
6
+
7
+ def method_missing(method, *args, &block)
8
+ if @data.include?(method.to_s)
9
+ @data[method.to_s]
10
+ else
11
+ super
12
+ end
13
+ end
14
+
15
+ def id
16
+ @data["id"]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,70 @@
1
+ module StreamSend
2
+ class Subscriber < Resource
3
+ def self.audience_id
4
+ @audience_id ||= StreamSend.get("/audiences.xml").parsed_response["audiences"].first["id"]
5
+ end
6
+
7
+ def self.all
8
+ response = StreamSend.get("/audiences/#{audience_id}/people.xml")
9
+
10
+ case response.code
11
+ when 200
12
+ response["people"].collect { |data| new(data) }
13
+ else
14
+ raise "Could not find any subscribers. Make sure your audience ID is correct. (#{response.code})"
15
+ end
16
+ end
17
+
18
+ def self.find(email_address)
19
+ response = StreamSend.get("/audiences/#{audience_id}/people.xml?email_address=#{email_address}")
20
+
21
+ case response.code
22
+ when 200
23
+ if subscriber = response["people"].first
24
+ new(subscriber)
25
+ else
26
+ nil
27
+ end
28
+ else
29
+ raise "Could not find the subscriber. Make sure your audience ID is correct. (#{response.code})"
30
+ end
31
+ end
32
+
33
+ def show
34
+ response = StreamSend.get("/audiences/#{audience_id}/people/#{id}.xml")
35
+
36
+ case response.code
37
+ when 200
38
+ if subscriber = response["person"]
39
+ self.class.new(subscriber)
40
+ else
41
+ nil
42
+ end
43
+ else
44
+ raise "Could not show the subscriber. (#{response.code})"
45
+ end
46
+ end
47
+
48
+ def activate
49
+ response = StreamSend.post("/audiences/#{audience_id}/people/#{id}/activate.xml")
50
+
51
+ case response.code
52
+ when 200
53
+ true
54
+ else
55
+ raise "Could not activate the subscriber. (#{response.code})"
56
+ end
57
+ end
58
+
59
+ def unsubscribe
60
+ response = StreamSend.post("/audiences/#{audience_id}/people/#{id}/unsubscribe.xml")
61
+
62
+ case response.code
63
+ when 200
64
+ true
65
+ else
66
+ raise "Could not subscribe the subscriber. (#{response.code})"
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,3 @@
1
+ module Streamsend
2
+ VERSION = "0.1.1"
3
+ end
data/lib/streamsend.rb CHANGED
@@ -1,6 +1,10 @@
1
1
  require 'rubygems'
2
2
  require 'httparty'
3
3
 
4
+ require "streamsend/resource"
5
+ require "streamsend/subscriber"
6
+ require "streamsend/version"
7
+
4
8
  module StreamSend
5
9
  include HTTParty
6
10
  format :xml
@@ -9,87 +13,4 @@ module StreamSend
9
13
  base_uri host
10
14
  basic_auth username, password
11
15
  end
12
-
13
- class Resource
14
- def initialize(data)
15
- @data = data
16
- end
17
-
18
- def method_missing(method, *args, &block)
19
- if @data.include?(method.to_s)
20
- @data[method.to_s]
21
- else
22
- super
23
- end
24
- end
25
-
26
- def id
27
- @data["id"]
28
- end
29
- end
30
-
31
- class Subscriber < Resource
32
- def self.all(audience_id)
33
- response = StreamSend.get("/audiences/#{audience_id}/people.xml")
34
-
35
- case response.code
36
- when 200
37
- response["people"].collect { |data| new(data) }
38
- else
39
- raise "Could not find any subscribers. Make sure your audience ID is correct. (#{response.code})"
40
- end
41
- end
42
-
43
- def self.find(audience_id, email_address)
44
- response = StreamSend.get("/audiences/#{audience_id}/people.xml?email_address=#{email_address}")
45
-
46
- case response.code
47
- when 200
48
- if subscriber = response["people"].first
49
- new(subscriber)
50
- else
51
- nil
52
- end
53
- else
54
- raise "Could not find the subscriber. Make sure your audience ID is correct. (#{response.code})"
55
- end
56
- end
57
-
58
- def show
59
- response = StreamSend.get("/audiences/#{audience_id}/people/#{id}.xml")
60
-
61
- case response.code
62
- when 200
63
- if subscriber = response["person"]
64
- self.class.new(subscriber)
65
- else
66
- nil
67
- end
68
- else
69
- raise "Could not show the subscriber. (#{response.code})"
70
- end
71
- end
72
-
73
- def activate
74
- response = StreamSend.post("/audiences/#{audience_id}/people/#{id}/activate.xml")
75
-
76
- case response.code
77
- when 200
78
- true
79
- else
80
- raise "Could not activate the subscriber. (#{response.code})"
81
- end
82
- end
83
-
84
- def unsubscribe
85
- response = StreamSend.post("/audiences/#{audience_id}/people/#{id}/unsubscribe.xml")
86
-
87
- case response.code
88
- when 200
89
- true
90
- else
91
- raise "Could not subscribe the subscriber. (#{response.code})"
92
- end
93
- end
94
- end
95
16
  end
@@ -0,0 +1,21 @@
1
+ require File.join(File.dirname(__FILE__), "../../spec_helper")
2
+
3
+ module StreamSend
4
+ describe "Resource" do
5
+ describe "with missing method" do
6
+ before(:each) do
7
+ @resource = StreamSend::Resource.new({"name" => "scott"})
8
+ end
9
+
10
+ it "should return value" do
11
+ @resource.name.should == "scott"
12
+ end
13
+ end
14
+
15
+ describe "#id" do
16
+ it "should return id" do
17
+ StreamSend::Resource.new({"id" => 99}).id.should == 99
18
+ end
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,229 @@
1
+ require File.join(File.dirname(__FILE__), "../../spec_helper")
2
+
3
+ module StreamSend
4
+ describe "Subscriber" do
5
+ before(:each) do
6
+ stub_http_request(:any, //).to_return(:body => "Page not found.", :status => 404)
7
+
8
+ @username = "scott"
9
+ @password = "topsecret"
10
+ @host = "test.host"
11
+
12
+ xml = <<-XML
13
+ <?xml version="1.0" encoding="UTF-8"?>
14
+ <audiences type="array">
15
+ <audience>
16
+ <id type="integer">2</id>
17
+ </audience>
18
+ </audiences>
19
+ XML
20
+ stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences.xml").to_return(:body => xml)
21
+
22
+ StreamSend.configure(@username, @password, @host)
23
+ end
24
+
25
+ describe ".audience_id" do
26
+ it "should return the id of the first audience" do
27
+ StreamSend::Subscriber.audience_id.should == 2
28
+ end
29
+ end
30
+
31
+ describe ".all" do
32
+ describe "with subscribers" do
33
+ before(:each) do
34
+ xml = <<-XML
35
+ <?xml version="1.0" encoding="UTF-8"?>
36
+ <people type="array">
37
+ <person>
38
+ <id type="integer">2</id>
39
+ <email-address>scott@gmail.com</email-address>
40
+ <created-at type="datetime">2009-09-18T01:27:05Z</created-at>
41
+ </person>
42
+ </people>
43
+ XML
44
+
45
+ stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/2/people.xml").to_return(:body => xml)
46
+ end
47
+
48
+ it "should return array of one subscriber object" do
49
+ subscribers = StreamSend::Subscriber.all
50
+ subscribers.size.should == 1
51
+
52
+ subscribers.first.should be_instance_of(StreamSend::Subscriber)
53
+ subscribers.first.id.should == 2
54
+ subscribers.first.email_address.should == "scott@gmail.com"
55
+ subscribers.first.created_at.should == Time.parse("2009-09-18T01:27:05Z")
56
+ end
57
+ end
58
+
59
+ describe "with no subscribers" do
60
+ before(:each) do
61
+ xml = <<-XML
62
+ <?xml version="1.0" encoding="UTF-8"?>
63
+ <people type="array"/>
64
+ XML
65
+
66
+ stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/2/people.xml").to_return(:body => xml)
67
+ end
68
+
69
+ it "should return an empty array" do
70
+ StreamSend::Subscriber.all.should == []
71
+ end
72
+ end
73
+
74
+ describe "with invalid audience" do
75
+ before(:each) do
76
+ xml = <<-XML
77
+ <?xml version="1.0" encoding="UTF-8"?>
78
+ <people type="array"/>
79
+ XML
80
+
81
+ stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/99/people.xml").to_return(:body => xml)
82
+ end
83
+
84
+ it "should raise an exception" do
85
+ lambda { StreamSend::Subscriber.all }.should raise_error
86
+ end
87
+ end
88
+ end
89
+
90
+ describe ".find" do
91
+ describe "with matching subscriber" do
92
+ before(:each) do
93
+ xml = <<-XML
94
+ <?xml version="1.0" encoding="UTF-8"?>
95
+ <people type="array">
96
+ <person>
97
+ <id type="integer">2</id>
98
+ <email-address>scott@gmail.com</email-address>
99
+ <created-at type="datetime">2009-09-18T01:27:05Z</created-at>
100
+ </person>
101
+ </people>
102
+ XML
103
+
104
+ stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/2/people.xml?email_address=scott@gmail.com").to_return(:body => xml)
105
+ end
106
+
107
+ it "should return subscriber" do
108
+ subscriber = StreamSend::Subscriber.find("scott@gmail.com")
109
+
110
+ subscriber.should be_instance_of(StreamSend::Subscriber)
111
+ subscriber.id.should == 2
112
+ subscriber.email_address.should == "scott@gmail.com"
113
+ subscriber.created_at.should == Time.parse("2009-09-18T01:27:05Z")
114
+ end
115
+ end
116
+
117
+ describe "with no matching subscriber" do
118
+ before(:each) do
119
+ xml = <<-XML
120
+ <?xml version="1.0" encoding="UTF-8"?>
121
+ <people type="array"\>
122
+ XML
123
+
124
+ stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/2/people.xml?email_address=bad.email@gmail.com").to_return(:body => xml)
125
+ end
126
+
127
+ it "should return nil" do
128
+ StreamSend::Subscriber.find("bad.email@gmail.com").should == nil
129
+ end
130
+ end
131
+
132
+ describe "with invalid audience" do
133
+ before(:each) do
134
+ xml = <<-XML
135
+ <?xml version="1.0" encoding="UTF-8"?>
136
+ <people type="array"\>
137
+ XML
138
+
139
+ stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/99/people.xml?email_address=bad.email@gmail.com").to_return(:body => xml)
140
+ end
141
+
142
+ it "should raise an exception" do
143
+ lambda { StreamSend::Subscriber.find("scott@gmail.com") }.should raise_error
144
+ end
145
+ end
146
+ end
147
+
148
+ describe "#show" do
149
+ describe "with valid subscriber instance" do
150
+ before(:each) do
151
+ xml = <<-XML
152
+ <?xml version="1.0" encoding="UTF-8"?>
153
+ <person>
154
+ <id type="integer">2</id>
155
+ <email-address>scott@gmail.com</email-address>
156
+ <created-at type="datetime">2009-09-18T01:27:05Z</created-at>
157
+ <first-name>Scott</first-name>
158
+ <last-name>Albertson</last-name>
159
+ </person>
160
+ XML
161
+
162
+ stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/1/people/2.xml").to_return(:body => xml)
163
+ end
164
+
165
+ it "should return subscriber" do
166
+ subscriber = StreamSend::Subscriber.new({"id" => 2, "audience_id" => 1}).show
167
+
168
+ subscriber.should be_instance_of(StreamSend::Subscriber)
169
+ subscriber.id.should == 2
170
+ subscriber.email_address.should == "scott@gmail.com"
171
+ subscriber.created_at.should == Time.parse("2009-09-18T01:27:05Z")
172
+ subscriber.first_name.should == "Scott"
173
+ subscriber.last_name.should == "Albertson"
174
+ end
175
+ end
176
+
177
+ describe "with invalid subscriber instance" do
178
+ it "should raise exception" do
179
+ lambda { StreamSend::Subscriber.new({"id" => 99, "audience_id" => 1}).show }.should raise_error
180
+ end
181
+ end
182
+
183
+ describe "with invalid audience" do
184
+ it "should raise exception" do
185
+ lambda { StreamSend::Subscriber.new({"id" => 2}).show }.should raise_error
186
+ end
187
+ end
188
+ end
189
+
190
+ describe "#activate" do
191
+ before(:each) do
192
+ stub_http_request(:post, "http://#{@username}:#{@password}@#{@host}/audiences/1/people/2/activate.xml").to_return(:body => nil)
193
+ end
194
+
195
+ describe "with valid subscriber" do
196
+ it "should be successful" do
197
+ response = StreamSend::Subscriber.new({"id" => 2, "audience_id" => 1}).activate
198
+ response.should be_true
199
+ end
200
+ end
201
+
202
+ describe "with invalid subscriber" do
203
+ it "should raise exception" do
204
+ lambda { StreamSend::Subscriber.new({"id" => 99, "audience_id" => 1}).activate }.should raise_error
205
+ end
206
+ end
207
+ end
208
+
209
+ describe "#unsubscribe" do
210
+ before(:each) do
211
+ stub_http_request(:post, "http://#{@username}:#{@password}@#{@host}/audiences/1/people/2/unsubscribe.xml").to_return(:body => nil)
212
+ end
213
+
214
+ describe "with valid subscriber" do
215
+ it "should be successful" do
216
+ response = StreamSend::Subscriber.new({"id" => 2, "audience_id" => 1}).unsubscribe
217
+ response.should be_true
218
+ end
219
+ end
220
+
221
+ describe "with invalid subscriber" do
222
+ it "should raise exception" do
223
+ lambda { StreamSend::Subscriber.new({"id" => 99, "audience_id" => 1}).unsubscribe }.should raise_error
224
+ end
225
+ end
226
+ end
227
+ end
228
+ end
229
+
@@ -0,0 +1,4 @@
1
+ require 'uri'
2
+ require 'webmock/rspec'
3
+
4
+ require File.join(File.dirname(__FILE__), "../lib/streamsend")
@@ -1,214 +1,9 @@
1
- require 'uri'
2
- require 'webmock/rspec'
3
- require 'streamsend'
1
+ require File.join(File.dirname(__FILE__), "spec_helper")
4
2
 
5
- describe "StreamSend" do
6
- describe "Resource" do
7
- describe "with missing method" do
8
- before(:each) do
9
- @resource = StreamSend::Resource.new({"name" => "scott"})
10
- end
11
-
12
- it "should return value" do
13
- @resource.name.should == "scott"
14
- end
15
- end
16
-
17
- describe "#id" do
18
- it "should return id" do
19
- StreamSend::Resource.new({"id" => 99}).id.should == 99
20
- end
21
- end
22
- end
23
-
24
- describe "Subscriber" do
25
- before(:each) do
26
- stub_http_request(:any, //).to_return(:body => "Page not found.", :status => 404)
27
-
28
- @username = "scott"
29
- @password = "topsecret"
30
- @host = "test.host"
31
-
32
- StreamSend.configure(@username, @password, @host)
33
- end
34
-
35
- describe ".all" do
36
- describe "with subscribers" do
37
- before(:each) do
38
- xml = <<-XML
39
- <?xml version="1.0" encoding="UTF-8"?>
40
- <people type="array">
41
- <person>
42
- <id type="integer">2</id>
43
- <email-address>scott@gmail.com</email-address>
44
- <created-at type="datetime">2009-09-18T01:27:05Z</created-at>
45
- </person>
46
- </people>
47
- XML
48
-
49
- stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/1/people.xml").to_return(:body => xml)
50
- end
51
-
52
- it "should return array of one subscriber object" do
53
- subscribers = StreamSend::Subscriber.all(1)
54
- subscribers.size.should == 1
55
-
56
- subscribers.first.should be_instance_of(StreamSend::Subscriber)
57
- subscribers.first.id.should == 2
58
- subscribers.first.email_address.should == "scott@gmail.com"
59
- subscribers.first.created_at.should == Time.parse("2009-09-18T01:27:05Z")
60
- end
61
- end
62
-
63
- describe "with no subscribers" do
64
- before(:each) do
65
- xml = <<-XML
66
- <?xml version="1.0" encoding="UTF-8"?>
67
- <people type="array"/>
68
- XML
69
-
70
- stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/1/people.xml").to_return(:body => xml)
71
- end
72
-
73
- it "should return an empty array" do
74
- StreamSend::Subscriber.all(1).should == []
75
- end
76
- end
77
-
78
- describe "with invalid audience" do
79
- it "should raise an exception" do
80
- lambda { StreamSend::Subscriber.all(99) }.should raise_error
81
- end
82
- end
83
- end
84
-
85
- describe ".find" do
86
- describe "with matching subscriber" do
87
- before(:each) do
88
- xml = <<-XML
89
- <?xml version="1.0" encoding="UTF-8"?>
90
- <people type="array">
91
- <person>
92
- <id type="integer">2</id>
93
- <email-address>scott@gmail.com</email-address>
94
- <created-at type="datetime">2009-09-18T01:27:05Z</created-at>
95
- </person>
96
- </people>
97
- XML
98
-
99
- stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/1/people.xml?email_address=scott@gmail.com").to_return(:body => xml)
100
- end
101
-
102
- it "should return subscriber" do
103
- subscriber = StreamSend::Subscriber.find(1, "scott@gmail.com")
104
-
105
- subscriber.should be_instance_of(StreamSend::Subscriber)
106
- subscriber.id.should == 2
107
- subscriber.email_address.should == "scott@gmail.com"
108
- subscriber.created_at.should == Time.parse("2009-09-18T01:27:05Z")
109
- end
110
- end
111
-
112
- describe "with no matching subscriber" do
113
- before(:each) do
114
- xml = <<-XML
115
- <?xml version="1.0" encoding="UTF-8"?>
116
- <people type="array"\>
117
- XML
118
-
119
- stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/1/people.xml?email_address=bad.email@gmail.com").to_return(:body => xml)
120
- end
121
-
122
- it "should return nil" do
123
- StreamSend::Subscriber.find(1, "bad.email@gmail.com").should == nil
124
- end
125
- end
126
-
127
- describe "with invalid audience" do
128
- it "should raise an exception" do
129
- lambda { StreamSend::Subscriber.find(99, "scott@gmail.com") }.should raise_error
130
- end
131
- end
132
- end
133
-
134
- describe "#show" do
135
- describe "with valid subscriber instance" do
136
- before(:each) do
137
- xml = <<-XML
138
- <?xml version="1.0" encoding="UTF-8"?>
139
- <person>
140
- <id type="integer">2</id>
141
- <email-address>scott@gmail.com</email-address>
142
- <created-at type="datetime">2009-09-18T01:27:05Z</created-at>
143
- <first-name>Scott</first-name>
144
- <last-name>Albertson</last-name>
145
- </person>
146
- XML
147
-
148
- stub_http_request(:get, "http://#{@username}:#{@password}@#{@host}/audiences/1/people/2.xml").to_return(:body => xml)
149
- end
150
-
151
- it "should return subscriber" do
152
- subscriber = StreamSend::Subscriber.new({"id" => 2, "audience_id" => 1}).show
153
-
154
- subscriber.should be_instance_of(StreamSend::Subscriber)
155
- subscriber.id.should == 2
156
- subscriber.email_address.should == "scott@gmail.com"
157
- subscriber.created_at.should == Time.parse("2009-09-18T01:27:05Z")
158
- subscriber.first_name.should == "Scott"
159
- subscriber.last_name.should == "Albertson"
160
- end
161
- end
162
-
163
- describe "with invalid subscriber instance" do
164
- it "should raise exception" do
165
- lambda { StreamSend::Subscriber.new({"id" => 99, "audience_id" => 1}).show }.should raise_error
166
- end
167
- end
168
-
169
- describe "with invalid audience" do
170
- it "should raise exception" do
171
- lambda { StreamSend::Subscriber.new({"id" => 2}).show }.should raise_error
172
- end
173
- end
174
- end
175
-
176
- describe "#activate" do
177
- before(:each) do
178
- stub_http_request(:post, "http://#{@username}:#{@password}@#{@host}/audiences/1/people/2/activate.xml").to_return(:body => nil)
179
- end
180
-
181
- describe "with valid subscriber" do
182
- it "should be successful" do
183
- response = StreamSend::Subscriber.new({"id" => 2, "audience_id" => 1}).activate
184
- response.should be_true
185
- end
186
- end
187
-
188
- describe "with invalid subscriber" do
189
- it "should raise exception" do
190
- lambda { StreamSend::Subscriber.new({"id" => 99, "audience_id" => 1}).activate }.should raise_error
191
- end
192
- end
193
- end
194
-
195
- describe "#unsubscribe" do
196
- before(:each) do
197
- stub_http_request(:post, "http://#{@username}:#{@password}@#{@host}/audiences/1/people/2/unsubscribe.xml").to_return(:body => nil)
198
- end
199
-
200
- describe "with valid subscriber" do
201
- it "should be successful" do
202
- response = StreamSend::Subscriber.new({"id" => 2, "audience_id" => 1}).unsubscribe
203
- response.should be_true
204
- end
205
- end
206
-
207
- describe "with invalid subscriber" do
208
- it "should raise exception" do
209
- lambda { StreamSend::Subscriber.new({"id" => 99, "audience_id" => 1}).unsubscribe }.should raise_error
210
- end
211
- end
212
- end
3
+ describe StreamSend do
4
+ describe ".configure" do
5
+ it "should set username"
6
+ it "should set password"
7
+ it "should set host"
213
8
  end
214
9
  end
data/streamsend.gemspec CHANGED
@@ -1,29 +1,22 @@
1
1
  # -*- encoding: utf-8 -*-
2
+ require File.expand_path('../lib/streamsend/version', __FILE__)
2
3
 
3
- Gem::Specification.new do |s|
4
- s.name = %q{streamsend}
5
- s.version = "0.1.0"
4
+ Gem::Specification.new do |gem|
5
+ gem.authors = ["Scott Albertson"]
6
+ gem.email = %q{salbertson@streamsend.com}
7
+ gem.summary = %q{Ruby wrapper for the StreamSend API.}
8
+ gem.description = %q{Ruby wrapper for the StreamSend API.}
9
+ gem.homepage = %q{http://github.com/salbertson/streamsend-ruby}
10
+ gem.date = %q{2012-03-27}
6
11
 
7
- s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Scott Albertson"]
9
- s.date = %q{2012-02-10}
10
- s.description = %q{Ruby wrapper for the StreamSend API.}
11
- s.email = %q{salbertson@streamsend.com}
12
- s.extra_rdoc_files = ["README.rdoc", "lib/streamsend.rb"]
13
- s.files = ["README.rdoc", "Rakefile", "lib/streamsend.rb", "spec/streamsend_spec.rb", "Manifest", "streamsend.gemspec"]
14
- s.homepage = %q{http://github.com/salbertson/streamsend-ruby}
15
- s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Streamsend", "--main", "README.rdoc"]
16
- s.require_paths = ["lib"]
17
- s.rubyforge_project = %q{streamsend}
18
- s.rubygems_version = %q{1.5.2}
19
- s.summary = %q{Ruby wrapper for the StreamSend API.}
12
+ gem.add_dependency "httparty", "0.7.4"
13
+ gem.add_development_dependency "rspec", "~> 2.5"
14
+ gem.add_development_dependency "webmock", "~> 1.6"
20
15
 
21
- if s.respond_to? :specification_version then
22
- s.specification_version = 3
23
-
24
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
25
- else
26
- end
27
- else
28
- end
16
+ gem.files = `git ls-files`.split($\)
17
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
18
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
+ gem.name = "streamsend"
20
+ gem.require_paths = ["lib"]
21
+ gem.version = Streamsend::VERSION
29
22
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: streamsend
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 0
10
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Scott Albertson
@@ -15,38 +15,82 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-02-10 00:00:00 -08:00
19
- default_executable:
20
- dependencies: []
21
-
18
+ date: 2012-03-27 00:00:00 Z
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: httparty
22
+ prerelease: false
23
+ requirement: &id001 !ruby/object:Gem::Requirement
24
+ none: false
25
+ requirements:
26
+ - - "="
27
+ - !ruby/object:Gem::Version
28
+ hash: 11
29
+ segments:
30
+ - 0
31
+ - 7
32
+ - 4
33
+ version: 0.7.4
34
+ type: :runtime
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: rspec
38
+ prerelease: false
39
+ requirement: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ~>
43
+ - !ruby/object:Gem::Version
44
+ hash: 9
45
+ segments:
46
+ - 2
47
+ - 5
48
+ version: "2.5"
49
+ type: :development
50
+ version_requirements: *id002
51
+ - !ruby/object:Gem::Dependency
52
+ name: webmock
53
+ prerelease: false
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
+ none: false
56
+ requirements:
57
+ - - ~>
58
+ - !ruby/object:Gem::Version
59
+ hash: 3
60
+ segments:
61
+ - 1
62
+ - 6
63
+ version: "1.6"
64
+ type: :development
65
+ version_requirements: *id003
22
66
  description: Ruby wrapper for the StreamSend API.
23
67
  email: salbertson@streamsend.com
24
68
  executables: []
25
69
 
26
70
  extensions: []
27
71
 
28
- extra_rdoc_files:
29
- - README.rdoc
30
- - lib/streamsend.rb
72
+ extra_rdoc_files: []
73
+
31
74
  files:
75
+ - Gemfile
76
+ - Gemfile.lock
32
77
  - README.rdoc
33
78
  - Rakefile
34
79
  - lib/streamsend.rb
80
+ - lib/streamsend/resource.rb
81
+ - lib/streamsend/subscriber.rb
82
+ - lib/streamsend/version.rb
83
+ - spec/lib/streamsend/resource_spec.rb
84
+ - spec/lib/streamsend/subscriber_spec.rb
85
+ - spec/spec_helper.rb
35
86
  - spec/streamsend_spec.rb
36
- - Manifest
37
87
  - streamsend.gemspec
38
- has_rdoc: true
39
88
  homepage: http://github.com/salbertson/streamsend-ruby
40
89
  licenses: []
41
90
 
42
91
  post_install_message:
43
- rdoc_options:
44
- - --line-numbers
45
- - --inline-source
46
- - --title
47
- - Streamsend
48
- - --main
49
- - README.rdoc
92
+ rdoc_options: []
93
+
50
94
  require_paths:
51
95
  - lib
52
96
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -63,17 +107,19 @@ required_rubygems_version: !ruby/object:Gem::Requirement
63
107
  requirements:
64
108
  - - ">="
65
109
  - !ruby/object:Gem::Version
66
- hash: 11
110
+ hash: 3
67
111
  segments:
68
- - 1
69
- - 2
70
- version: "1.2"
112
+ - 0
113
+ version: "0"
71
114
  requirements: []
72
115
 
73
- rubyforge_project: streamsend
74
- rubygems_version: 1.5.2
116
+ rubyforge_project:
117
+ rubygems_version: 1.7.1
75
118
  signing_key:
76
119
  specification_version: 3
77
120
  summary: Ruby wrapper for the StreamSend API.
78
- test_files: []
79
-
121
+ test_files:
122
+ - spec/lib/streamsend/resource_spec.rb
123
+ - spec/lib/streamsend/subscriber_spec.rb
124
+ - spec/spec_helper.rb
125
+ - spec/streamsend_spec.rb
data/Manifest DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- Rakefile
3
- lib/streamsend.rb
4
- spec/streamsend_spec.rb
5
- Manifest