razorpay 2.1.0.pre → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b464a4ac1b55d618bb1af484eba8f9cb07fb8ae7
4
- data.tar.gz: 8e2d8c5f6c9abd7f08bf7beee1c643fa86b10e64
3
+ metadata.gz: e44bdd7fd838ec1ac184e39eafccd535f4789083
4
+ data.tar.gz: f38d503263f55d2e493e9ce046ce671621f2f69f
5
5
  SHA512:
6
- metadata.gz: 10acefb42404585616e9f17092c1f85da4f5cea75b9e83d3f453b9c35dfbca7c77307da27e04edc7b9020da51d72465c0ff7702b0018b174e0beb6ad9e8bd640
7
- data.tar.gz: 765e74db5ff99dd15b4f1c078497f1e6532bbe3e96b723c6bb967b3b8d554cefb4c30f9ecdf3e627a652b293ca0d5c137c95b45da4a22a1164efaa91fda58e68
6
+ metadata.gz: 4b581f65deb6964ebe58bb6a244f72f14f22c56392983cbaf02f307e6793d2b2ac9d57757756d256388d130b19262cc46e7df85fd2b768bbc6e139aafe519937
7
+ data.tar.gz: '078dfff04cd5ed1a6c6c9c2be451d8056dfbb5821f0b12fc816750451d0cbe8aba1b877ba4e1d6e03c13f8a8d5e8cd1bd5f061de72849286b9941923243d8af8'
@@ -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.pre...HEAD
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
@@ -2,5 +2,5 @@
2
2
  module Razorpay
3
3
  BASE_URI = 'https://api.razorpay.com/v1/'.freeze
4
4
  TEST_URL = 'https://api.razorpay.com/'.freeze
5
- VERSION = '2.1.0.pre'.freeze
5
+ VERSION = '2.1.0'.freeze
6
6
  end
@@ -3,7 +3,7 @@ module Razorpay
3
3
  class Error < StandardError
4
4
  attr_reader :code, :status
5
5
 
6
- def initialize(code, status)
6
+ def initialize(code = nil, status = nil)
7
7
  @code = code
8
8
  @status = status
9
9
  end
@@ -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
- create_instance self.class.send(method, url, @options)
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
- raise_error(response['error'], res.code) if response.key?('error')
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
- klass =
99
- begin
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
@@ -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
@@ -0,0 +1,3 @@
1
+ {
2
+ "message": "Welcome to Razorpay API."
3
+ }
@@ -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.pre
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-08-17 00:00:00.000000000 Z
12
+ date: 2017-11-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
- name: rake
15
+ name: coveralls
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  requirements:
18
18
  - - "~>"
19
19
  - !ruby/object:Gem::Version
20
- version: '12.0'
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: '12.0'
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: webmock
43
+ name: rake
44
44
  requirement: !ruby/object:Gem::Requirement
45
45
  requirements:
46
46
  - - "~>"
47
47
  - !ruby/object:Gem::Version
48
- version: '2.3'
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: '2.3'
55
+ version: '12.0'
56
56
  - !ruby/object:Gem::Dependency
57
- name: coveralls
57
+ name: rubocop
58
58
  requirement: !ruby/object:Gem::Requirement
59
59
  requirements:
60
60
  - - "~>"
61
61
  - !ruby/object:Gem::Version
62
- version: '0.8'
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.8'
69
+ version: '0.49'
70
70
  - !ruby/object:Gem::Dependency
71
- name: rubocop
71
+ name: webmock
72
72
  requirement: !ruby/object:Gem::Requirement
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: '0.49'
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: '0.49'
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: 1.3.1
190
+ version: '0'
189
191
  requirements: []
190
192
  rubyforge_project:
191
- rubygems_version: 2.6.12
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