razorpay 2.1.0.pre → 2.1.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/{CHANGELOG → CHANGELOG.md} +9 -1
- data/lib/razorpay/constants.rb +1 -1
- data/lib/razorpay/errors/razorpay_error.rb +1 -1
- data/lib/razorpay/request.rb +15 -11
- data/razorpay-ruby.gemspec +3 -5
- data/test/fixtures/welcome.json +3 -0
- data/test/razorpay/test_entity.rb +4 -0
- data/test/razorpay/test_request.rb +15 -0
- metadata +22 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e44bdd7fd838ec1ac184e39eafccd535f4789083
|
4
|
+
data.tar.gz: f38d503263f55d2e493e9ce046ce671621f2f69f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b581f65deb6964ebe58bb6a244f72f14f22c56392983cbaf02f307e6793d2b2ac9d57757756d256388d130b19262cc46e7df85fd2b768bbc6e139aafe519937
|
7
|
+
data.tar.gz: '078dfff04cd5ed1a6c6c9c2be451d8056dfbb5821f0b12fc816750451d0cbe8aba1b877ba4e1d6e03c13f8a8d5e8cd1bd5f061de72849286b9941923243d8af8'
|
data/{CHANGELOG → CHANGELOG.md}
RENAMED
@@ -4,6 +4,13 @@ Changelog for Razorpay-Ruby SDK.
|
|
4
4
|
|
5
5
|
## Unreleased
|
6
6
|
|
7
|
+
## [2.1.0] - 2017-11-17
|
8
|
+
### Changed
|
9
|
+
- Generic `Razorpay::Error` is thrown when server is unreachable
|
10
|
+
|
11
|
+
### Added
|
12
|
+
- Support for making raw requests to the API via `raw_request`.
|
13
|
+
|
7
14
|
## [2.1.0.pre] - 2017-08-17
|
8
15
|
### Added
|
9
16
|
- Support for Virtual Accounts
|
@@ -54,7 +61,8 @@ Changelog for Razorpay-Ruby SDK.
|
|
54
61
|
### Added
|
55
62
|
- Initial Release
|
56
63
|
|
57
|
-
[Unreleased]: https://github.com/razorpay/razorpay-ruby/compare/2.1.0
|
64
|
+
[Unreleased]: https://github.com/razorpay/razorpay-ruby/compare/2.1.0...HEAD
|
65
|
+
[2.1.0]: https://github.com/razorpay/razorpay-ruby/compare/2.0.1...2.1.0
|
58
66
|
[2.1.0.pre]: https://github.com/razorpay/razorpay-ruby/compare/2.0.1...2.1.0.pre
|
59
67
|
[2.0.1]: https://github.com/razorpay/razorpay-ruby/compare/2.0.0...2.0.1
|
60
68
|
[2.0.0]: https://github.com/razorpay/razorpay-ruby/compare/1.2.1...2.0.0
|
data/lib/razorpay/constants.rb
CHANGED
data/lib/razorpay/request.rb
CHANGED
@@ -10,7 +10,7 @@ module Razorpay
|
|
10
10
|
|
11
11
|
ssl_ca_file File.dirname(__FILE__) + '/../ca-bundle.crt'
|
12
12
|
|
13
|
-
def initialize(entity_name)
|
13
|
+
def initialize(entity_name = nil)
|
14
14
|
self.class.base_uri(Razorpay::BASE_URI)
|
15
15
|
@entity_name = entity_name
|
16
16
|
custom_headers = Razorpay.custom_headers || {}
|
@@ -55,13 +55,18 @@ module Razorpay
|
|
55
55
|
end
|
56
56
|
|
57
57
|
def request(method, url, data = {})
|
58
|
+
create_instance raw_request(method, url, data)
|
59
|
+
end
|
60
|
+
|
61
|
+
def raw_request(method, url, data = {})
|
58
62
|
case method
|
59
63
|
when :get
|
60
64
|
@options[:query] = data
|
61
65
|
when :post, :put, :patch
|
62
66
|
@options[:body] = data
|
63
67
|
end
|
64
|
-
|
68
|
+
|
69
|
+
self.class.send(method, url, @options)
|
65
70
|
end
|
66
71
|
|
67
72
|
# Since we need to change the base route
|
@@ -75,7 +80,9 @@ module Razorpay
|
|
75
80
|
response = res.parsed_response
|
76
81
|
|
77
82
|
# if there was an error, throw it
|
78
|
-
|
83
|
+
if response.nil? || response.key?('error')
|
84
|
+
raise_error(response['error'], res.code)
|
85
|
+
end
|
79
86
|
|
80
87
|
# There must be a top level entity
|
81
88
|
# This is either one of payment, refund, or collection at present
|
@@ -95,15 +102,12 @@ module Razorpay
|
|
95
102
|
class_name = error['code'].split('_').map(&:capitalize).join('')
|
96
103
|
args = [error['code'], status]
|
97
104
|
args.push error['field'] if error.key?('field')
|
98
|
-
|
99
|
-
|
100
|
-
require "razorpay/errors/#{error['code'].downcase}"
|
101
|
-
Razorpay.const_get(class_name)
|
102
|
-
# We got an unknown error, cast it to Error for now
|
103
|
-
rescue NameError, LoadError
|
104
|
-
Razorpay::Error
|
105
|
-
end
|
105
|
+
require "razorpay/errors/#{error['code'].downcase}"
|
106
|
+
klass = Razorpay.const_get(class_name)
|
106
107
|
raise klass.new(*args), error['description']
|
108
|
+
rescue NameError, LoadError
|
109
|
+
# We got an unknown error, cast it to Error for now
|
110
|
+
raise Razorpay::Error.new, 'Unknown Error'
|
107
111
|
end
|
108
112
|
end
|
109
113
|
end
|
data/razorpay-ruby.gemspec
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
|
3
1
|
lib = File.expand_path('../lib', __FILE__)
|
4
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
5
3
|
require 'razorpay/constants'
|
@@ -19,10 +17,10 @@ Gem::Specification.new do |spec|
|
|
19
17
|
spec.test_files = spec.files.grep(/^(test|spec|features)/)
|
20
18
|
spec.require_paths = ['lib']
|
21
19
|
|
22
|
-
spec.add_development_dependency 'rake', '~> 12.0'
|
23
|
-
spec.add_development_dependency 'minitest', '~> 5.10'
|
24
|
-
spec.add_development_dependency 'webmock', '~> 2.3'
|
25
20
|
spec.add_development_dependency 'coveralls', '~> 0.8'
|
21
|
+
spec.add_development_dependency 'minitest', '~> 5.10'
|
22
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
26
23
|
spec.add_development_dependency 'rubocop', '~> 0.49'
|
24
|
+
spec.add_development_dependency 'webmock', '~> 2.3'
|
27
25
|
spec.add_dependency 'httparty', '~> 0.14'
|
28
26
|
end
|
@@ -20,6 +20,10 @@ module Razorpay
|
|
20
20
|
assert_raises(Razorpay::Error) { Razorpay::Request.new('dummy').raise_error(error, 500) }
|
21
21
|
end
|
22
22
|
|
23
|
+
def test_raise_error_server_unreachable
|
24
|
+
assert_raises(Razorpay::Error) { Razorpay::Request.new('dummy').raise_error(nil, nil) }
|
25
|
+
end
|
26
|
+
|
23
27
|
def test_respond_to_missing_method
|
24
28
|
order_id = 'order_50sX9hGHZJvjjI'
|
25
29
|
stub_get(%r{orders/#{order_id}$}, 'fake_order')
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'json'
|
3
|
+
|
4
|
+
module Razorpay
|
5
|
+
# Tests for Razorpay::Entity
|
6
|
+
class RequestTest < Minitest::Test
|
7
|
+
def test_raw_request
|
8
|
+
stub_get('https://api.razorpay.com', 'welcome')
|
9
|
+
|
10
|
+
req = Razorpay::Request.new
|
11
|
+
res = req.raw_request(:get, 'https://api.razorpay.com')
|
12
|
+
assert_equal 'Welcome to Razorpay API.', JSON.parse(res.body)['message']
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: razorpay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Abhay Rana
|
@@ -9,22 +9,22 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-11-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
15
|
+
name: coveralls
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
18
|
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version: '
|
20
|
+
version: '0.8'
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
25
|
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version: '
|
27
|
+
version: '0.8'
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: minitest
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
@@ -40,47 +40,47 @@ dependencies:
|
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '5.10'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
|
-
name:
|
43
|
+
name: rake
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
46
|
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version: '
|
48
|
+
version: '12.0'
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
53
|
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version: '
|
55
|
+
version: '12.0'
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
|
-
name:
|
57
|
+
name: rubocop
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
60
|
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version: '0.
|
62
|
+
version: '0.49'
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
67
|
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version: '0.
|
69
|
+
version: '0.49'
|
70
70
|
- !ruby/object:Gem::Dependency
|
71
|
-
name:
|
71
|
+
name: webmock
|
72
72
|
requirement: !ruby/object:Gem::Requirement
|
73
73
|
requirements:
|
74
74
|
- - "~>"
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: '
|
76
|
+
version: '2.3'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
80
80
|
requirements:
|
81
81
|
- - "~>"
|
82
82
|
- !ruby/object:Gem::Version
|
83
|
-
version: '
|
83
|
+
version: '2.3'
|
84
84
|
- !ruby/object:Gem::Dependency
|
85
85
|
name: httparty
|
86
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +108,7 @@ files:
|
|
108
108
|
- ".rubocop.yml"
|
109
109
|
- ".simplecov"
|
110
110
|
- ".travis.yml"
|
111
|
-
- CHANGELOG
|
111
|
+
- CHANGELOG.md
|
112
112
|
- Gemfile
|
113
113
|
- LICENSE.txt
|
114
114
|
- README.md
|
@@ -156,6 +156,7 @@ files:
|
|
156
156
|
- test/fixtures/payment_collection_with_one_payment.json
|
157
157
|
- test/fixtures/refund_collection.json
|
158
158
|
- test/fixtures/refund_collection_for_payment.json
|
159
|
+
- test/fixtures/welcome.json
|
159
160
|
- test/razorpay/test_card.rb
|
160
161
|
- test/razorpay/test_customer.rb
|
161
162
|
- test/razorpay/test_entity.rb
|
@@ -165,6 +166,7 @@ files:
|
|
165
166
|
- test/razorpay/test_payment.rb
|
166
167
|
- test/razorpay/test_razorpay.rb
|
167
168
|
- test/razorpay/test_refund.rb
|
169
|
+
- test/razorpay/test_request.rb
|
168
170
|
- test/razorpay/test_utility.rb
|
169
171
|
- test/razorpay/test_virtual_account.rb
|
170
172
|
- test/test_helper.rb
|
@@ -183,12 +185,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
183
185
|
version: '0'
|
184
186
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
185
187
|
requirements:
|
186
|
-
- - "
|
188
|
+
- - ">="
|
187
189
|
- !ruby/object:Gem::Version
|
188
|
-
version:
|
190
|
+
version: '0'
|
189
191
|
requirements: []
|
190
192
|
rubyforge_project:
|
191
|
-
rubygems_version: 2.6.
|
193
|
+
rubygems_version: 2.6.13
|
192
194
|
signing_key:
|
193
195
|
specification_version: 4
|
194
196
|
summary: Razorpay's Ruby API
|
@@ -216,6 +218,7 @@ test_files:
|
|
216
218
|
- test/fixtures/payment_collection_with_one_payment.json
|
217
219
|
- test/fixtures/refund_collection.json
|
218
220
|
- test/fixtures/refund_collection_for_payment.json
|
221
|
+
- test/fixtures/welcome.json
|
219
222
|
- test/razorpay/test_card.rb
|
220
223
|
- test/razorpay/test_customer.rb
|
221
224
|
- test/razorpay/test_entity.rb
|
@@ -225,6 +228,7 @@ test_files:
|
|
225
228
|
- test/razorpay/test_payment.rb
|
226
229
|
- test/razorpay/test_razorpay.rb
|
227
230
|
- test/razorpay/test_refund.rb
|
231
|
+
- test/razorpay/test_request.rb
|
228
232
|
- test/razorpay/test_utility.rb
|
229
233
|
- test/razorpay/test_virtual_account.rb
|
230
234
|
- test/test_helper.rb
|