midwife-client 0.0.9 → 0.0.10
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/lib/midwife/client.rb +14 -1
- data/lib/midwife/client/version.rb +1 -1
- data/spec/integration_spec.rb +4 -4
- metadata +4 -4
data/lib/midwife/client.rb
CHANGED
@@ -19,7 +19,7 @@ module Midwife
|
|
19
19
|
private
|
20
20
|
|
21
21
|
def request(path, attributes)
|
22
|
-
uri =
|
22
|
+
uri = join_uri(@endpoint, "api", path)
|
23
23
|
|
24
24
|
request = Net::HTTP::Post.new(uri.path)
|
25
25
|
request["content-type"] = "application/json"
|
@@ -43,6 +43,19 @@ module Midwife
|
|
43
43
|
raise RequestError.new(response)
|
44
44
|
end
|
45
45
|
end
|
46
|
+
|
47
|
+
# Apparently joining URIs in ruby isn't as intuitive as one would
|
48
|
+
# think. This method helps makes things a little more sane for
|
49
|
+
# our use case.
|
50
|
+
def join_uri(base_uri, *paths)
|
51
|
+
base_uri = URI.parse(base_uri) unless base_uri.is_a?(URI)
|
52
|
+
base_path = base_uri.path
|
53
|
+
base_uri = base_uri.to_s
|
54
|
+
new_path = File.join(base_path, paths)
|
55
|
+
|
56
|
+
URI.join(base_uri, new_path)
|
57
|
+
end
|
58
|
+
|
46
59
|
end
|
47
60
|
|
48
61
|
class Client
|
data/spec/integration_spec.rb
CHANGED
@@ -12,8 +12,8 @@ describe Midwife::Client do
|
|
12
12
|
describe '#unsubscribe' do
|
13
13
|
context 'when the recipient exists' do
|
14
14
|
before do
|
15
|
-
stub_request(:post, "http://localhost:3000/unsubscribe").
|
16
|
-
with(:body =>
|
15
|
+
stub_request(:post, "http://localhost:3000/api/unsubscribe").
|
16
|
+
with(:body => { :list_id => 42, :email => 'exists@email.com' }).
|
17
17
|
to_return(:body => file_fixture('unsubscribe/recipient_exists.json'))
|
18
18
|
end
|
19
19
|
|
@@ -26,8 +26,8 @@ describe Midwife::Client do
|
|
26
26
|
|
27
27
|
context 'when the recipient does not exist' do
|
28
28
|
before do
|
29
|
-
stub_request(:post, "http://localhost:3000/unsubscribe").
|
30
|
-
with(:body =>
|
29
|
+
stub_request(:post, "http://localhost:3000/api/unsubscribe").
|
30
|
+
with(:body => { :list_id => 42, :email => 'doesnotexist@email.com' }).
|
31
31
|
to_return(:status => 404, :body => file_fixture('unsubscribe/recipient_does_not_exist.json'))
|
32
32
|
end
|
33
33
|
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: midwife-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 11
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 10
|
10
|
+
version: 0.0.10
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Michael Guterl
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-06-
|
18
|
+
date: 2011-06-14 00:00:00 -04:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|