active_utils 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -48,6 +48,15 @@ module ActiveMerchant
48
48
  when :post
49
49
  debug body
50
50
  http.post(endpoint.request_uri, body, RUBY_184_POST_HEADERS.merge(headers))
51
+ when :put
52
+ debug body
53
+ http.put(endpoint.request_uri, body, headers)
54
+ when :delete
55
+ # It's kind of ambiguous whether the RFC allows bodies
56
+ # for DELETE requests. But Net::HTTP's delete method
57
+ # very unambiguously does not.
58
+ raise ArgumentError, "DELETE requests do not support a request body" if body
59
+ http.delete(endpoint.request_uri, headers)
51
60
  else
52
61
  raise ArgumentError, "Unsupported request method #{method.to_s.upcase}"
53
62
  end
@@ -31,7 +31,7 @@ module ActiveMerchant #:nodoc:
31
31
  end
32
32
 
33
33
  def raw_ssl_request(method, endpoint, data, headers = {})
34
- connection = Connection.new(endpoint)
34
+ connection = new_connection(endpoint)
35
35
  connection.open_timeout = open_timeout
36
36
  connection.read_timeout = read_timeout
37
37
  connection.retry_safe = retry_safe
@@ -50,6 +50,10 @@ module ActiveMerchant #:nodoc:
50
50
 
51
51
  private
52
52
 
53
+ def new_connection(endpoint)
54
+ Connection.new(endpoint)
55
+ end
56
+
53
57
  def handle_response(response)
54
58
  case response.code.to_i
55
59
  when 200...300
@@ -1,3 +1,3 @@
1
1
  module ActiveUtils
2
- VERSION = "1.0.1"
2
+ VERSION = "1.0.2"
3
3
  end
@@ -37,6 +37,18 @@ class ConnectionTest < Test::Unit::TestCase
37
37
  assert_equal 'success', response.body
38
38
  end
39
39
 
40
+ def test_successful_put_request
41
+ Net::HTTP.any_instance.expects(:put).with('/tx.php', 'data', {}).returns(@ok)
42
+ response = @connection.request(:put, 'data', {})
43
+ assert_equal 'success', response.body
44
+ end
45
+
46
+ def test_successful_delete_request
47
+ Net::HTTP.any_instance.expects(:delete).with('/tx.php', {}).returns(@ok)
48
+ response = @connection.request(:delete, nil, {})
49
+ assert_equal 'success', response.body
50
+ end
51
+
40
52
  def test_get_raises_argument_error_if_passed_data
41
53
  assert_raise(ArgumentError) do
42
54
  @connection.request(:get, 'data', {})
@@ -45,7 +57,7 @@ class ConnectionTest < Test::Unit::TestCase
45
57
 
46
58
  def test_request_raises_when_request_method_not_supported
47
59
  assert_raise(ArgumentError) do
48
- @connection.request(:delete, nil, {})
60
+ @connection.request(:head, nil, {})
49
61
  end
50
62
  end
51
63
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_utils
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 1
10
- version: 1.0.1
9
+ - 2
10
+ version: 1.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Shopify
@@ -15,13 +15,13 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-09-14 00:00:00 -04:00
18
+ date: 2012-01-16 00:00:00 -05:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
22
22
  name: activesupport
23
23
  prerelease: false
24
- version_requirements: &id001 !ruby/object:Gem::Requirement
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
27
  - - ">="
@@ -33,11 +33,11 @@ dependencies:
33
33
  - 11
34
34
  version: 2.3.11
35
35
  type: :runtime
36
- requirement: *id001
36
+ version_requirements: *id001
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: i18n
39
39
  prerelease: false
40
- version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ">="
@@ -47,11 +47,11 @@ dependencies:
47
47
  - 0
48
48
  version: "0"
49
49
  type: :runtime
50
- requirement: *id002
50
+ version_requirements: *id002
51
51
  - !ruby/object:Gem::Dependency
52
52
  name: rake
53
53
  prerelease: false
54
- version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ requirement: &id003 !ruby/object:Gem::Requirement
55
55
  none: false
56
56
  requirements:
57
57
  - - ">="
@@ -61,11 +61,11 @@ dependencies:
61
61
  - 0
62
62
  version: "0"
63
63
  type: :development
64
- requirement: *id003
64
+ version_requirements: *id003
65
65
  - !ruby/object:Gem::Dependency
66
66
  name: mocha
67
67
  prerelease: false
68
- version_requirements: &id004 !ruby/object:Gem::Requirement
68
+ requirement: &id004 !ruby/object:Gem::Requirement
69
69
  none: false
70
70
  requirements:
71
71
  - - ">="
@@ -75,7 +75,7 @@ dependencies:
75
75
  - 0
76
76
  version: "0"
77
77
  type: :development
78
- requirement: *id004
78
+ version_requirements: *id004
79
79
  description:
80
80
  email:
81
81
  - developers@jadedpixel.com
@@ -140,7 +140,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
140
140
  requirements: []
141
141
 
142
142
  rubyforge_project: active_utils
143
- rubygems_version: 1.6.2
143
+ rubygems_version: 1.5.3
144
144
  signing_key:
145
145
  specification_version: 3
146
146
  summary: Common utils used by active_merchant, active_fulfillment, and active_shipping